0

我有一个Cell扩展类LinearLayout。在通过构造函数创建新单元格的过程中,我想通过扩展 xml 布局将视图添加到布局中。问题是在我看来,我有两个选择:

  1. 膨胀单个 xml 文件,其中包含另一个布局下的所有视图或
  2. 膨胀多个 xml 文件,每个文件都包含不同的视图

因为我不想添加另一个布局作为布局的子级,也不想膨胀很多视图,那么最好的方法是什么?

4

1 回答 1

0

您可以像这样以编程方式创建视图

TextView t = new TextView(context)

但是如果你应用了很多样式,这真的很麻烦。

另一个最简单但最慢的选项是您提到的:inlate each view - 请注意,如果您有很多视图(例如 20 多个),这确实会减慢您的速度,因为膨胀非常昂贵。

如果您知道动态视图的最大数量,则第三个选项是拥有一个包含您需要最大的所有子视图的视图,并将所有其他视图设置为不可见。这也是一个 hack,但比它快得多。

最后也是最好的选择是继承ListView并只使用Adapter.

于 2013-11-03T18:45:07.837 回答