【问题标题】:Add ListView into other ListView item将 ListView 添加到其他 ListView 项中
【发布时间】:2014-02-05 21:38:03
【问题描述】:

我正在尝试将完整的自定义 Listview(带有自定义适配器)添加到其他自定义 ListView 项中。

我尝试了两件事:

1 : 使用两个自定义 ArrayAdapter 并将第二个调用到第一个的 getView 方法中。因此,每个项目都填充有自己的列表。 结果:它有点工作,但我在将正确的子列表绑定到 getView 中的项目时遇到问题,我认为我可能做了一件糟糕的事情。

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

这些方法中的一种应该有效还是我可以使用其他方法?

【问题讨论】:

    标签: android listview


    【解决方案1】:

    您实际上可以为此目的使用可扩展列表,尽管您可以尽可能多地制作它,但它已经有 2 级了。

    可以自定义父子元素,比手动逐个添加元素要好。

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

    【讨论】:

    • 实际上我试图做的是将子项包装在由多个布局组成的父项的特定布局中。那是我没能做到的。可扩展列表只是在其父布局之后添加子元素,而不是在指定元素中。
    • getChildView 可以根据您的喜好进行定制,您甚至可以放置另一个可扩展列表或任何内容。您只需要为此目的创建另一个列表项并对其进行膨胀。您甚至可以使每个子项都不同,但我可能误解了您的需要。
    • 我认为你误解了。示例:父项是一个垂直的 LinearLayout,它包含两个 textView,然后是另一个 linearLayout (id=childrenZone),然后是其他东西。我希望此项的子项出现在 id=childrenZone 的 linearLayout 中。这样,整个子区域(不是每个子项)都可以有背景、父项之前的内容和父项之后的内容。是不是更清楚了?
    【解决方案2】:

    好的。我想我只是有设计问题。当您最终尝试嵌套 ListViews 时,问题可能只是您尝试做的事情并不好。

    确实,我有一个未定义数量的元素,我想将一个元素显示在另一个元素的下方,其中每个元素都包含一个列表视图。但这并不意味着这些元素应该被包装到一个列表视图中。将每个元素添加到布局的简单 for 循环是一个更好的选择。那么,每个元素里面的lisview就没有问题了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-13
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      • 2013-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多