2016-11-15 72 views
0

我是新來的Android和開發一個帶有3個選項卡的FragmentTabHost頁面。在活動類中,調用AsyncTask類來獲取數據並放入共享首選項,然後使用以下代碼添加選項卡。在每個標籤片段類中,獲取已保存的共享偏好數據並顯示在頁面上。FragmentTabHost的空白頁與AsyncTask

mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost); 
mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent); 

mTabHost.addTab(mTabHost.newTabSpec("A").setIndicator("A"), 
      AFragment.class, null); 
mTabHost.addTab(mTabHost.newTabSpec("B").setIndicator("B"), 
      BFragment.class, null); 
mTabHost.addTab(mTabHost.newTabSpec("C").setIndicator("C"), 
      CFragment.class, null); 

問題是顯示的第一個標籤頁是空白的。因爲它是在異步任務完成之前創建的。因此,選項卡中的信息僅在更改選項卡並重新選擇後纔會顯示。任何好的解決方案

非常感謝!

回答

0

我發現了一個可行的解決方案。調用AFragment中的異步任務,將數據置於共享首選項中,然後更新UI。另外兩個片段將直接從共享首選項中讀取數據。