【问题标题】:Saving the state of a listview in a fragment in my activity在我的活动的片段中保存列表视图的状态
【发布时间】:2014-06-12 10:38:35
【问题描述】:

我是 android 新手,我知道以前有人问过类似的问题,我看过他们的答案,但似乎没有一个能解决我的问题

我的活动片段中有一个列表视图,它从 URL 检索信息并使用自定义适配器显示它,单击一行将显示有关在新活动中单击的行的更多信息,例如包含更多详细信息的新闻.

我遇到的问题是每次我从活动中返回更多详细信息时,上一个活动必须再次建立连接以从 URL 检索信息以显示在列表视图中,因此列表视图变为空且整个流程从头开始

我正在寻找最佳和/或最简单的方法来保存上一个活动或活动本身中的片段状态,以便当用户返回它时,他会在离开时看到它,并且不会t 每次都建立连接。

【问题讨论】:

    标签: android listview android-activity fragment


    【解决方案1】:

    在这种情况下,我会执行以下操作:

    1. 创建一个 pojo 类和一个数组列表,用于存储列表视图所需的数据。您还可以存储交互。指示 listview 的 firstVisibleItem 的静态字段也很有帮助。
    2. 我在另一个类中创建了一个公共静态数组列表对象。
    3. 在 oncreate 视图中膨胀布局
    4. 在 onstart 中,我首先检查在另一个类长度中定义的静态数组列表是否为 0。如果它为空,我从 Internet 加载它。如果没有,我将适配器设置为列表视图
    5. 在片段的 onpause 方法中,您可以将列表视图的静态字段 firstVisibleItem 设置为列表视图的第一个可见项。
    6. 在第二次加载片段时,我只需将适配器设置为列表视图,如果 firstVisibleItem 具有有效值(不是 -1),则执行 listview.setSelectionFromTop()。 它可能看起来像很多代码,但它相当简单。询问您是否有任何 cmets。

    【讨论】:

    • 有我可以看的例子吗?谢谢
    • 我回家后做一个贴出来。现在在办公室。
    • 好的,那太好了,我在等...请注意列表视图包含来自 URL 的图像
    • 您好非法争论我还在等待您的回复...谢谢
    猜你喜欢
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2017-05-27
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多