所以我有一個android應用程序,主要活動有3個片段。帶有倒數計時器的片段,用於設置的片段和第三個片段。我正在嘗試啓動計時器,並瀏覽應用程序,例如打開其他片段,同時繼續計時器進行倒計時。但不幸的是,一旦我啓動計時器並導航到另一個片段,計時器就會停止。當我返回到計時器片段時,它將計時器恢復到原始狀態,就好像它從未開始一樣。我試過Fragment.setRetainInstance(布爾),沒有運氣。任何想法,我應該如何讓片段繼續在後臺作爲開放的不同碎片運行?如果不可見,在後臺運行一個片段
public void selectDrawerItem(MenuItem menuItem) {
Fragment fragment = null;
Class fragmentClass;
switch(menuItem.getItemId()) {
case R.id.nav_first_fragment:
fragmentClass = HomeFragment.class;
break;
case R.id.nav_second_fragment:
fragmentClass = StatsFragment.class;
break;
case R.id.nav_third_fragment:
fragmentClass = SettingsFragment.class;
break;
default:
fragmentClass = HomeFragment.class;
}
try {
fragment = (Fragment) fragmentClass.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.flContent, fragment).commit();
menuItem.setChecked(true);
setTitle(menuItem.getTitle());
mDrawer.closeDrawers();
}
你在哪裏開始你的計時器?請使用處理程序在容器活動onResume中啓動它。並且永遠不要忘記在Activity的OnStop中停止它。 –
所以你說的是讓計時器在容器活動中運行,而不是在實際的片段中運行。運行容器活動並將其單獨顯示在片段上 –
是的,我在說so..try並讓我知道 –