【问题标题】:Restore listView in android在android中恢复listView
【发布时间】:2011-09-24 04:53:25
【问题描述】:

我正在从 Activity_A 导航到 Activity_B 并在 Activity_B 中显示列表视图,当我按下 Activity_B 控件中的后退按钮时,将进入 Activity_A。现在,我再次导航到 Activity_B,现在我不想再次创建列表视图,而是想显示之前创建的列表视图。这个怎么做 ?有谁请帮帮我...

提前谢谢....

【问题讨论】:

  • 感谢您的建议.....

标签: android listview saving-data


【解决方案1】:

当你启动 Activity_B 时设置标志

FLAG_ACTIVITY_REORDER_TO_FRONT

意图意图 = 新 意图(Activity_A.this, Activity_B.class);

intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

开始活动(意图);

如果已启动的 Activity 已经在运行,此标志将导致它被带到其任务历史堆栈的前面。

【讨论】:

  • 您好,如果活动没有运行,如何执行此操作。因为当我按下后退按钮时,活动会从 stack 中删除。我说的对吗?
  • 是的..没错..你可以这样做。当您第一次打开您的列表并显示来自 ArrayList 的数据时。它将检查 ArrayList 的大小是否 > 0。如果没有,那么它可以从 Web 服务中检索它,否则显示以前的数据。
  • 是的,这些事情我们可以用不同的方式来做。但我想知道,android有没有标准的方法来实现这一点。无论如何感谢您的建议....
  • AFAIK 没有任何标准方法可以做到这一点。但是是的,您可以使用缓存概念来实现这一点。我以前没试过。看这个链接stackoverflow.com/questions/1945201/android-image-cache
  • @ sujit....我的代码是: public void onClick(View v) { Intent intent = new Intent(activityA.this, activityB.class);意图.setFlags(意图.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent);}...activityB 有一个 listView 向下滚动到第 100 个项目...。当我在 activityA 中时,如果我单击按钮转到 activityB,它会显示第 100 个项目,这很好.. .但是然后我使用设备后退按钮转到activityA,现在当我尝试使用显示的这个onClick代码转到activityB时,它会重新创建listView ....我怎样才能让它显示之前显示的第100个项目跨度>
【解决方案2】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 2018-01-30
    相关资源
    最近更新 更多