【问题标题】:Android - Partial refresh listviewAndroid - 部分刷新列表视图
【发布时间】:2013-12-21 17:38:53
【问题描述】:

我正在开发一个包含多个项目模板的 Android ListView,如下所示:

我知道这真的很糟糕,所以让我稍微解释一下列表视图。

如你所见,整个activity包含一个ListView,其中ListView的0位置为Header部分。在列表位置 1 的标题下方,我有一个包含两个选项卡 b1b2 的项目。从位置 3 开始,列表项将根据选项卡的选择显示。

例如,如果用户选择b1 选项卡,则从位置3 显示的项目应使用模板card 1,如我的手绘图所示。如果随后用户选择b2,则列表视图的其余部分应刷新并更新为使用card 2 模板。

如果我还是没有说清楚,请参阅 Vine Android 应用的个人资料页面。如果您选择POST,您将看到您的帖子列表,如果您选择LIKES,您将看到您喜欢的所有帖子。

所以我想知道是否有办法强制 ListView 从第三个位置刷新以适应正确的数据?

【问题讨论】:

  • 不,没有这个选项
  • 我怀疑这首先是一个好主意。滚动呢?你想让你的标题消失吗? (你不能依赖 android 中的屏幕尺寸)。但是,如果您真的想这样做:刷新标题有什么问题?我怀疑你甚至会注意到。
  • @Heuster 我也想知道是否有其他选项可以像 Vine Android App 个人资料页面那样做同样的事情?
  • 我会做什么:制作一个包含标题和选项卡视图的布局(请参阅the android designer pages)。为每个选项卡制作一个片段,然后为它们使用简单的列表视图布局。将多种类型的项目添加到同一个列表中很痛苦,所以我不会,除非真的有必要。

标签: android android-layout listview android-listview


【解决方案1】:

你应该为你的数据项保留一个列表:

1:存储原始数据状态

2:存储显示数据

现在您将 2nd 传递给适配器,如果选择 B1,只需更改 2nd 列表中的数据并通知适配器。

现在如果 B2 是单击从第一个列表中获取数据,请将其更改并设置为第二个列表并通知适配器。

适配器会刷新整个列表,因此只需更改要刷新的项目即可。

【讨论】:

    猜你喜欢
    • 2011-08-31
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    • 2012-02-11
    • 1970-01-01
    • 2012-08-22
    • 2014-12-08
    相关资源
    最近更新 更多