7

我正在创建一个自定义LinearLayout组件。它旨在模仿 a 的某些功能ListView,用于 a ScrollView,因为我不能/不应该在 a 中使用ListViewa ScrollView。我们称之为CustomListView。此外,我正在创建另一个自定义LinearLayout来表示这个伪列表视图中的每个项目,我们称之为NewItemView

无论如何,在初始化NewItemView时,我通过扩展布局 XML 来设置它。布局 XML 将 a 声明LinearLayout为其根视图,并且与simple_list_item_multiple_choice.xml.

总的来说,主要活动有一个CustomListView。我们调用CustomListView向列表中添加一个新项目,这实际上是创建一个新的addItem(Item item)NewItemView 并使用来自 Item 类的数据填充它。

我是newListItem.initListItem(Context context)这样膨胀的:

 ((Activity)getContext())
            .getLayoutInflater()
            .inflate(R.layout.list_item, this, true);

这确实有效!LinearLayout但是,我遇到的问题是,在使用 Monitor 进行检查时,列表中的每个项目周围都有一个冗余。我的理解是,这通常是一个坏主意。有LinearLayout为了CustomListView每个项目,有一个LinearLayout,只有一个孩子;一个LinearLayout!最后一个包含实际的孩子。

我希望这与我正在创建基于 LinearLayout 的自定义组件,然后在其根部使用 LinearLayout 膨胀布局这一事实有关。

4

1 回答 1

5

是的,这就是merge标签的用途。只需用 , 替换您的根LinearLayout标签merge,这应该可以满足您的需求。

请参阅此博客文章

于 2013-06-25T23:30:00.377 回答