我探索了一些标签片段示例(在Support4Demos中也提供了一个) 但是我发现每次切换选项卡时,每次都会从片段类的'onCreateView'创建选项卡内容视图。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.hello_world, container, false);
View tv = v.findViewById(R.id.text);
((TextView)tv).setText("Fragment #" + mNum);
tv.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.gallery_thumb));
return v;
}
是否可以在首次创建片段视图时创建一次片段视图,并且在制表符之间切换时会显示/消失,而不是再次创建?
答案 0 :(得分:1)
我想我找到了解决方案。 我需要使用pager,它会缓存选项卡,并且每次切换时都不会创建新视图。
从这里找到它:How to cache a fragment view
答案 1 :(得分:0)
不,你必须习惯这个想法并开始保存屏幕旋转和类似的重要信息。然后,当您再次创建视图时,您将获取已保存的信息并将其用于初始化。
有关类似的讨论,请参阅here。基本上在您的片段onActivityCreated中加载数据,并在片段onSaveInstanceState中保存数据。