FragmentTabHost中带有AsyncTask

时间:2016-11-15 22:09:37

标签: android android-fragments android-asynctask

我是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);

问题是第一个显示的标签页是空白的。因为它是在异步任务完成之前创建的。因此,只有在更改选项卡并重新选择它后,才会显示选项卡中的信息。有什么好的解决方案吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我找到了一个可行的解决方案。在AFragment中调用异步任务,将数据置于共享首选项中,然后更新UI。另外两个片段将直接从共享首选项中读取数据。