1

我有三个选项卡和三个片段。我有一个服务在其中一个片段中运行,服务正在从网络接收消息并更新片段,因为该服务的广播接收器在片段中。我想保持服务运行并始终更新片段,即使是否选择了特定选项卡。当我在不停止服务的情况下更改选项卡时,我的应用程序会崩溃。在ActionBar.TabListener我的主要活动中也有`

public void onTabUnselected(Tab tab, FragmentTransaction ft) {
                 ft.remove(fragment);
                //ft.hide(fragment);
            }

`请帮我怎么实现这个东西??

4

1 回答 1

1

更改选项卡后,该选项卡Fragment将被销毁,该片段的视图也将被销毁。您将无法再更新它Fragment

你应该处理不同的这个问题:

  1. 以某种方式缓存Service正在检索的任何内容,一旦Fragment创建,就从缓存中获取最新数据并显示
  2. (类似)使用Service不断检索您的“数据”并将其存储在 中的绑定Service,一旦您Fragment被创建,绑定到Service并检索该数据。
于 2013-09-06T10:05:35.477 回答