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

首頁 > 系統 > Android > 正文

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

2019-12-12 01:16:38
字體:
來源:轉載
供稿:網友

有時候,我們在同一個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橫豎屏翻轉對重新加載的要求就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临城县| 通海县| 瑞安市| 通道| 南安市| 三都| 永靖县| 唐山市| 洞头县| 平阴县| 准格尔旗| 巴南区| 措美县| 新竹市| 新和县| 武功县| 通许县| 大兴区| 大渡口区| 牟定县| 宿松县| 临沧市| 鲁山县| 大邑县| 古浪县| 新泰市| 裕民县| 杭州市| 武城县| 德兴市| 富顺县| 兴文县| 建水县| 大余县| 舞钢市| 泾源县| 宁南县| 固安县| 富锦市| 苍山县| 微山县|