淺談android Fragment橫豎屏翻轉(zhuǎn)對重新加載的要求
有時候,我們在同一個activity里面有很多fragment,在橫豎屏的時候,有些fragment要求重新加載數(shù)據(jù),有些不需要,如何簡單控制這些需求,本人分享一點小經(jīng)驗,歡迎大家指正里面的錯誤。
大家都知道橫豎屏翻轉(zhuǎn)的時候,activity會重啟,fragment也會重新加載,如果現(xiàn)在要求在橫豎屏翻轉(zhuǎn)的時候,同一個activity中,一個fragment要重新加載,一個不要重新加載,那該怎么辦呢?
如果在activity里面繼承了onConfigurationChanged這個方法之后,這個activity和里面的fragment是不會重新加載的,也就是說顯示的數(shù)據(jù)和UI不會改變,只是將豎屏的界面顯示成橫屏。為了控制哪個fragment不重啟哪個fragment要重啟。我們只要在onConfigurationChanged方法里面針對不同的fragment做不同的處理就好了。
<span style="white-space:pre;"> </span>@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
FragmentManager fragmentManager = getFragmentManager();
Fragment oldFragment = null;
if ((oldFragment = fragmentManager
.findFragmentByTag("Fragment_One")) != null) {
Fragment newFragment = new FragmentOne();
FragmentTransaction trans = fragmentManager.beginTransaction();
<span style="white-space:pre;"> </span>trans.remove(oldFragment);
<span style="white-space:pre;"> </span>if (newFragment != null) {
<span style="white-space:pre;"> </span>trans.add(R.id.fragments_container, newFragment, "Fragment_One");
<span style="white-space:pre;"> </span>}
<span style="white-space:pre;"> </span>trans.commit();
}
}
假如我們現(xiàn)在有FragmentOne和FragmentTwo,其中FragmentOne要求在橫豎屏的時候activity不重啟,但是FragmentOne要重啟。那么只要在onConfigurationChanged里面判斷當(dāng)前顯示的如果是FragmentOne就remove掉舊的FragmentOne對象,new一個新的FragmentOne對象重新顯示到當(dāng)前activity。這樣fragment的數(shù)據(jù)和UI就可以重新加載和改變了。
這樣當(dāng)橫豎屏翻轉(zhuǎn)的時候,我們不想重啟activity,但是不同的fragment,有不同的界面或者需求,我們可以通過上面的方法隨意控制fragment要不要重新加載了。
以上這篇淺談android Fragment橫豎屏翻轉(zhuǎn)對重新加載的要求就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android Flutter實現(xiàn)GIF動畫效果的方法詳解
如果我們想對某個組件實現(xiàn)一組動效應(yīng)該怎么辦呢?本文將利用Android Flutter實現(xiàn)GIF動畫效果,文中的示例代碼講解詳細,需要的可以參考一下2022-06-06
20.5 語音合成(百度2016年2月29日發(fā)布的tts引擎)
編寫手機App時,有時需要使用文字轉(zhuǎn)語音(Text to Speech)的功能,比如開車時閱讀收到的短信、導(dǎo)航語音提示、界面中比較重要的信息通過語音強調(diào)2016-03-03
Android App中實現(xiàn)圖片異步加載的實例分享
這篇文章主要介紹了Android App中實現(xiàn)圖片異步加載的實例分享,這樣GridView在加載大量圖片時便可以延時分布顯示,需要的朋友可以參考下2016-04-04
Android中Permission權(quán)限機制的具體使用
這篇文章主要介紹了Android中Permission權(quán)限機制的具體使用,本文講解了權(quán)限級別 protection level、ICC(inter-component communication)權(quán)限保護等內(nèi)容,需要的朋友可以參考下2015-04-04
Android省市區(qū)三級聯(lián)動控件使用方法實例講解
最近有需求需要實現(xiàn)省市區(qū)三級聯(lián)動,但是發(fā)現(xiàn)之前的實現(xiàn)不夠靈活,自己做了一些優(yōu)化。下面通過實例代碼給大家介紹下Android省市區(qū)三級聯(lián)動控件使用方法2017-01-01
Android中的SQL查詢語句LIKE綁定參數(shù)問題解決辦法(sqlite數(shù)據(jù)庫)
這篇文章主要介紹了Android中的SQL查詢語句LIKE綁定參數(shù)問題解決辦法,本文使用的是sqlite數(shù)據(jù)庫,需要的朋友可以參考下2014-06-06

