2013-11-03 41 views
0

我有一个类Cell,它延伸到LinearLayout。在通过构造函数创建新单元的过程中,我想通过膨胀xml布局来为视图添加视图。问题是,我的眼睛,我有两个选择:在自定义视图中充满儿童视图

  1. 夸大它包含了所有在其他布局 或
  2. 充气多个XML文件的意见,一个XML文件,每一个都包含了不同的看法

因为我不想添加另一个布局作为布局的子元素,我也不想夸大许多视图,那么最好的方法是什么?

+0

选择'1'可以更好地创建单个xml布局,以便稍后进行更新,您将能够以编程方式删除/添加视图 –

回答

0

您既可以创建视图编程就像

TextView t = new TextView(context) 

,但如果你申请了很多的风格,这是一个真正的麻烦。其他最简单但速度最慢的选项就是你提到的内容:内嵌每个视图 - 如果你有很多视图(比如20+),那么请注意,这可能会让你放慢脚步,因为充气非常昂贵。

第三个选项,如果你知道你的动态视图的最大数量是有一个视图与所有你需要的子视图最大,只是设置所有其他视图。这也是一种黑客,但速度比它快。

最后一个也是最好的选择是从ListView继承,只是使用Adapter

+0

感谢您的回答。我不喜欢第三种选择,因为我的观点不应该是任何方式的ListView,它会被强制。我只会夸大一个布局 –