国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

淺談android Fragment橫豎屏翻轉對重新加載的要求

2019-10-22 18:16:48
字體:
來源:轉載
供稿:網友

有時候,我們在同一個activity里面有很多fragment,在橫豎屏的時候,有些fragment要求重新加載數據,有些不需要,如何簡單控制這些需求,本人分享一點小經驗,歡迎大家指正里面的錯誤。

大家都知道橫豎屏翻轉的時候,activity會重啟,fragment也會重新加載,如果現在要求在橫豎屏翻轉的時候,同一個activity中,一個fragment要重新加載,一個不要重新加載,那該怎么辦呢?

如果在activity里面繼承了onConfigurationChanged這個方法之后,這個activity和里面的fragment是不會重新加載的,也就是說顯示的數據和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();   }  } 

假如我們現在有FragmentOne和FragmentTwo,其中FragmentOne要求在橫豎屏的時候activity不重啟,但是FragmentOne要重啟。那么只要在onConfigurationChanged里面判斷當前顯示的如果是FragmentOne就remove掉舊的FragmentOne對象,new一個新的FragmentOne對象重新顯示到當前activity。這樣fragment的數據和UI就可以重新加載和改變了。

這樣當橫豎屏翻轉的時候,我們不想重啟activity,但是不同的fragment,有不同的界面或者需求,我們可以通過上面的方法隨意控制fragment要不要重新加載了。

以上這篇淺談android Fragment橫豎屏翻轉對重新加載的要求就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庆云县| 甘孜县| 汉源县| 茂名市| 西安市| 平顶山市| 威海市| 沧州市| 轮台县| 永登县| 图木舒克市| 颍上县| 项城市| 黄平县| 鱼台县| 乐至县| 治县。| 蒙阴县| 玉树县| 梅州市| 宿松县| 新平| 雅江县| 洞头县| 石嘴山市| 炉霍县| 宜宾县| 吴江市| 吉首市| 维西| 芮城县| 和平区| 赤城县| 巴彦淖尔市| 舒兰市| 彰化县| 德庆县| 秦安县| 洛浦县| 衡水市| 安丘市|