我是Android新手并开发了一个包含3个标签的FragmentTabHost页面。在activity类中,调用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 :(得分:0)
我找到了一个可行的解决方案。在AFragment中调用异步任务,将数据置于共享首选项中,然后更新UI。另外两个片段将直接从共享首选项中读取数据。