【问题标题】:Starting new subactivity clears all data from ListView启动新的子活动会清除 ListView 中的所有数据
【发布时间】:2013-10-03 16:49:14
【问题描述】:

我有一个带有设置活动的 Android 应用程序,它允许我使用列表视图编辑设置和主要活动。我还有一个单独的帮助活动。当我转到设置或帮助并返回主要活动时,列表视图中的数据将被清除...... 每次加载和解析都必须从网上下载,所以我想知道是否有可能每次都清除它......

谢谢

【问题讨论】:

  • 你用什么方法创建和初始化列表?
  • 当一个菜单按钮被按下(刷新)时列表被初始化,这会启动一个异步任务,设置listview自定义适配器的内容
  • 好的,但更具体地说,你在 onCreate、onStart、onResume、onPause、onStop、onDestroy、onRestart 中做了什么?其中之一可能是罪魁祸首。
  • 在onCreate中,我只是对布局进行了膨胀……其他的方法我都没碰过。我应该覆盖暂停和恢复吗?
  • 好吧,在 onCreate 中放一个断点,看看它是否在查看您的帮助活动后再次被调用。

标签: android android-listview android-activity


【解决方案1】:

我不知道为什么主要活动被破坏了。

不过,这是一种可行的解决方案。从 Application 创建一个子类 MyApp,并在其 onCreate 期间在那里加载您的适配器。 (只有一个 Application 实例,它是保存全局数据的好地方。)

在您的主要活动的 onCreate 中,创建列表视图并从 MyApp 获取适配器。那么你将只做一次昂贵的部分(创建适配器)。

【讨论】:

  • 找到了!还是谢谢!
【解决方案2】:

答案是;将 android manifest xml 文件中主要活动的启动模式设置为 singleTop... 更多信息在这里; http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多