【问题标题】:Populate android listview with list of objects with list in them使用其中包含列表的对象列表填充 android listview
【发布时间】:2017-02-02 15:23:03
【问题描述】:

我正在尝试将 IOS 应用程序转换为 android 应用程序,但在 IOS 中非常简单的事情遇到了一些问题。

我现在的问题是我有一个章节列表 每章都是一个对象:

{
    String
    int
    List<Paragraph>
}

我需要用所有章节的所有段落填充 listView,并且章节中的字符串需要是该部分的标题 所以我会有一个显示

- Chapter header
-- Paragraph
-- Paragraph
-- Paragraph
- Chapter Header
-- Paragraph
-- Paragraph

等等.... 我已经考虑过从章节中创建一个所有段落的列表,但后来我松开了标题(我表中的部分),所以这并不好。 我在适配器中的 getView 方法中获得了正确的列表,但需要一种方法来解决问题。

有人知道如何在 Android 中做到这一点吗?

10 倍

【问题讨论】:

    标签: android android-layout listview


    【解决方案1】:

    另一个很好的方法是使用ExpandableListView。它比使用常规的 ListView 或 RecyclerView 稍微复杂一些,但您将获得基于章节标题扩展和折叠内容的强大功能。

    您可以查看this 文章以获取有关如何实现它的教程。

    【讨论】:

    • 10x,这可以通过一些修改和玩弄,但它确实有效。我仍然需要打破这些物体,但没关系,只要它在工作。我猜这是我在 Android 中的技能,并且有一些方法可以做到这一点,而不会将对象分解为字符串和段落。但无论如何 10 倍,现在已经足够了!
    【解决方案2】:

    你需要通过使用 RecylerView 而不是 listview 来做到这一点,因为它是 listview 的最新版本。 您需要编写具有两个文本视图布局的自定义适配器,一个用于段落标题。使用您的对象列表初始化此适配器,然后在 onBinfViewHolder 方法中获取每个对象并将其显示在列表中。

    Link to recycler view tutorial

    如果您需要任何其他帮助,请告诉我。

    【讨论】:

    • 在我看来,这个解决方案和我有同样的问题。如果电影列表只是对象列表,而不是带有列表的对象列表。它只是对 listView 的改进。我需要的是第二级来获取主列表(章节列表)中的一个对象,并在其中使用标题(字符串)作为列表视图中的标题以及每个章节对象中的所有段落作为第二级填写列表视图。我看不出这个解决方案对谁有帮助......也许我错过了什么?很多人都在想答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    相关资源
    最近更新 更多