转载http://my.oschina.net/u/1424386/blog/341486 使用FragmentTabHost,发现每次切换fragment就会调用 onDestroyView,切换回来时会调用onCreateView。但是有个需求要每次切换时不要重新加载一遍view,想了一些办法,也在网上找 了一些方法,发现这个方法是最好的。使用了一下,确实挺好用的。 解决办法:在Fragment onCreateView方法中缓存View private View rootView;//缓存Fragment view @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if(rootView==null){ rootView=inflater.inflate(R.layout.tab_fragment, null); } //缓存的rootView需要判断是否已经被加过parent, 如果有parent需要从parent删除,要不然会发生这个rootview已经有parent的错误。 ViewGroup parent = (ViewGroup) rootView.getParent(); if (parent != null) { parent.removeView(rootView); } return rootView; } |
|
来自: dggxkk > 《android-app》