轉載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》