我有一个 ListView 那是在一个里面 TabWidget. 。当我选择一个项目时 ListView 然后去找孩子 ListView, , 这 TabWidget 消失。这很好,除了它调用 onPause 方法,从而导致 onRestart 当我回到父母身边时被调用 ListView.

我有 onRestart 设置从服务器检索更新的数据,但我不希望每次用户返回父级时都发生这种情况 ListView. 。我只想 onRestart 当应用程序在后台运行时被调用。我尝试实现一个布尔变量来确定是否应该执行里面的代码 onRestart, ,但似乎没有办法避免这种影响。

有想法吗?

有帮助吗?

解决方案

你可以用以下方式关闭你的孩子活动 startActivityForResult 并设置一个标志 onActivityResult 不重新加载(当用户从​​详细信息页面返回到列表视图时应该调用它)。你会有一个成员变量(比方说 mReload)你设置为 trueonCreateonRestart, , 并 falseonActivityResult, ,然后处理重新加载 onResume 如果 mReload 是 true (并将其设置回 false 所以正常的恢复不会触发重新加载)。

选择:只需设置一个标志(mLeftPage) 在行的点击监听器的活动中。重新启动时,如果 mLeftPage 是 true,不要重新加载列表并设置 mLeftPage 回到假。否则,重新加载。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top