2014-01-16 125 views
0

我想添加一个完整的自定义Listview(与自定义适配器)到其他自定义ListView项目。添加ListView到其他ListView项目

我已经试过两件事情:

1:使用两个自定义ArrayAdapters并调用第二个到第一个的getView方法。所以每个项目都有自己的列表。 结果:它有点作用,但我有问题将正确的儿童列表绑定到getView内的项目,我认为我可能做了一件可怕的事情。

2:使用带有自定义BaseExpandableListAdapter的expandableListView。它更好地绑定父母/子项目,但我无法将子项目放入父项目中的特定列表视图。它只是将子项目放在整个父项目之后。

这些方法之一应该工作还是我可以使用别的东西?

回答

0

好的。我想我只是有问题。当你最终尝试嵌套ListViews时,问题可能只是你想要做的不好。

确实,我有一个未定义数目的元素,我想在另一个下方显示一个元素,每个元素包含一个listview。但这并不意味着这些元素应该被包装到一个列表视图中。一个简单的for-loop将每个元素添加到Layout是一个更好的选择。然后,每个元素内部的lisview都没有问题。

1

您实际上可以使用可扩展列表来达到这个目的,尽管您可以尽可能多地创建它,但它已经有2个级别。

您可以自定义父项和子项,比手动添加元素要好一些。

我相信这是创建可扩展列表的目的。

+0

其实我试图做的是将子项目包装在由多个布局组成的父项目的特定布局中。这是我无法做到的。可扩展列表只是在其父布局不在指定元素内后添加子元素。 – TrtG

+0

getChildView可以根据自己的口味进行自定义,甚至可以放置另一个可扩展的列表或任何东西。你只需要为此目的创建另一个列表项目并使其膨胀。你甚至可以让每个孩子的项目都不同,但我可能会误解你的需求。 –

+0

我觉得你误会了。例如:父项是一个垂直LinearLayout,它包含两个textView,然后是另一个linearLayout(id = childrenZone),然后是其他东西。我希望这个项目的孩子出现在id = childrenZone的linearLayout中。这样,整个儿童区(不是每个儿童项目)都可以拥有背景,父母之前的东西以及父母之后的东西。它更清楚吗? – TrtG