【问题标题】:Working with onPause, onRestart, in Tab Widget - Android在 Tab Widget 中使用 onPause、onRestart - Android
【发布时间】:2011-05-17 23:17:23
【问题描述】:

我有一个ListView,它位于TabWidget 中。当我在ListView 上选择一个项目并转到子ListView 时,TabWidget 消失了。这很好,只是它调用了onPause 方法,因此当我返回父级ListView 时会调用onRestart

我有onRestart 设置来从服务器检索更新的数据,但我不希望每次用户返回父ListView 时都会发生这种情况。我只希望在应用程序从后台运行恢复活力时调用 onRestart。我已经尝试实现一个布尔变量来确定我是否应该执行onRestart 中的代码,但似乎没有办法解决这个问题。

想法?

【问题讨论】:

    标签: android multitasking restart tabwidget onstart


    【解决方案1】:

    您可以使用startActivityForResult 触发您的子活动,并在onActivityResult 中设置一个标志以不重新加载(当用户从​​详细信息页面返回列表视图时应该调用该标志)。你有一个成员变量(比如说mReload),你在onCreateonRestart中设置为true,在onActivityResult中设置为false,然后处理重新加载onResume如果mReload 为真(并将其设置回false,因此正常的恢复不会触发重新加载)。

    替代方案:只需在行的点击侦听器上的活动中设置一个标志 (mLeftPage)。重新启动时,如果 mLeftPage 为 true,则不要重新加载列表并将 mLeftPage 设置回 false。否则,重新加载。

    【讨论】:

    • 你的第二个(替代)答案很容易实现,我没有问这个问题就没有做对主要是我的逻辑问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    相关资源
    最近更新 更多