【发布时间】:2013-03-09 08:27:30
【问题描述】:
在我最近的项目中,我使用 FragmentTabHost 的 v4 支持库。
tab和fragment初始化时,绑定到标签的fragment被创建并渲染。它的生命周期是
onCreate ==> onCreateView ==> onActivityCreated
我重写了 onActivityCreated 方法,因为我需要从 api 获取一些数据。
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Lg.i("on TagDiscoverListFragment activity created");
new GetDiscoversTask().execute();
}
但是每次切换到这个选项卡,这个aysnTask都会再次执行,因为切换发生时,fragment会调用:
onCreateView ==> onActivityCreated
我不想再次刷新数据。
当然,我可以扩展 FragmentTabHost 并覆盖方法 doTabChange() 并将片段的附加/分离操作更改为隐藏/查看。
那么,还有其他解决方案吗?
【问题讨论】:
标签: android android-tabhost fragment-tab-host