這篇文章給大家分享的是有關(guān)android中Fragment橫豎屏翻轉(zhuǎn)對重新加載的要求是什么的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在成都網(wǎng)站建設(shè)、成都做網(wǎng)站過程中,需要針對客戶的行業(yè)特點、產(chǎn)品特性、目標受眾和市場情況進行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計方向。創(chuàng)新互聯(lián)還需要根據(jù)客戶的需求進行功能模塊的開發(fā)和設(shè)計,包括內(nèi)容管理、前臺展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計和安全保護等功能。大家都知道橫豎屏翻轉(zhuǎn)的時候,activity會重啟,fragment也會重新加載,如果現(xiàn)在要求在橫豎屏翻轉(zhuǎn)的時候,同一個activity中,一個fragment要重新加載,一個不要重新加載,那該怎么辦呢?
如果在activity里面繼承了onConfigurationChanged這個方法之后,這個activity和里面的fragment是不會重新加載的,也就是說顯示的數(shù)據(jù)和UI不會改變,只是將豎屏的界面顯示成橫屏。為了控制哪個fragment不重啟哪個fragment要重啟。我們只要在onConfigurationChanged方法里面針對不同的fragment做不同的處理就好了。
@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(); trans.remove(oldFragment); if (newFragment != null) { trans.add(R.id.fragments_container, newFragment, "Fragment_One"); } trans.commit(); } }
假如我們現(xiàn)在有FragmentOne和FragmentTwo,其中FragmentOne要求在橫豎屏的時候activity不重啟,但是FragmentOne要重啟。那么只要在onConfigurationChanged里面判斷當前顯示的如果是FragmentOne就remove掉舊的FragmentOne對象,new一個新的FragmentOne對象重新顯示到當前activity。這樣fragment的數(shù)據(jù)和UI就可以重新加載和改變了。
這樣當橫豎屏翻轉(zhuǎn)的時候,我們不想重啟activity,但是不同的fragment,有不同的界面或者需求,我們可以通過上面的方法隨意控制fragment要不要重新加載了。
感謝各位的閱讀!關(guān)于“android中Fragment橫豎屏翻轉(zhuǎn)對重新加載的要求是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!