Android中關(guān)于FragmentA嵌套FragmentB的問(wèn)題
問(wèn)題描述:
在項(xiàng)目中Activity A中嵌套Fragment B,F(xiàn)ragment B中再嵌套Fragment C,如圖:
問(wèn)題1:在點(diǎn)擊Activity A中主菜單1進(jìn)行切換時(shí),報(bào)錯(cuò)Fragment C already added。
解決:在Framgent B中添加Fragment C 調(diào)用add()時(shí)先判斷fragmentC.isAdded()
FragmentManager fm=getActivity().getSupportFragmentManager(); FragmentTransaction ft=fm.beginTransaction(); if(!sub1Fragment.isAdded()){ ft.add(R.id.rl_fragment_container, sub1Fragment).commit(); }
問(wèn)題2:修改后發(fā)現(xiàn),F(xiàn)ragment C布局添加失敗,同時(shí)切換主菜單2時(shí),報(bào)錯(cuò)。
解決:這是Fragment的嵌套問(wèn)題。FragmentB中的嵌套不能再用getActivity().getSupportFragmentManager();要用getChildFragmentManager();
即上面代碼應(yīng)改為:
FragmentManager fm=getChildFragmentManager(); FragmentTransaction ft=fm.beginTransaction(); if(!sub1Fragment.isAdded()){ ft.add(R.id.rl_fragment_container, sub1Fragment).commit(); }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android Studio 3.x版本 的輸入法遇到的坑及解決方案
前些天把AndroidStudio從2.3.3升級(jí)到3.0,遇到了不少坑,其中一個(gè)巨坑就是輸入中文不提示的問(wèn)題,下面給大家分享Android Studio 3.x版本的輸入法遇到的坑及解決方案,一起看看吧2017-11-11Android Alertdialog(實(shí)現(xiàn)警告對(duì)話(huà)框)
本篇文章主要介紹了Android Dialog對(duì)話(huà)框,具體實(shí)現(xiàn)了警告對(duì)話(huà)框的效果,有需要的可以了解一下。2016-11-11Android那兩個(gè)你碰不到但是很重要的類(lèi)之ViewRootImpl
這兩個(gè)類(lèi)就是ActivityThread和ViewRootImpl,之所以說(shuō)碰不到是因?yàn)槲覀儫o(wú)法通過(guò)正常的方式引用這兩個(gè)類(lèi)或者其類(lèi)的對(duì)象,本文就嘗試從幾個(gè)我們經(jīng)常接觸的方面先談?wù)刅iewRootImpl,感興趣的可以參考閱讀下2023-05-05淺談Android Studio 3.0 工具新特性的使用 Android Profiler 、Device File
這篇文章主要介紹了淺談Android Studio 3.0 工具新特性的使用 Android Profiler 、Device File Explorer的相關(guān)資料,需要的朋友可以參考下2017-11-11Android實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)學(xué)生管理系統(tǒng)的相關(guān)代碼,供大家學(xué)習(xí)借鑒,感興趣的小伙伴們可以參考一下2016-03-03Android源碼探究之BaseDexClassLoader的使用
今天解決一個(gè)插件化問(wèn)題的時(shí)候,竟然發(fā)現(xiàn)SO沒(méi)有正常加載,很怪異,最終排查下來(lái)發(fā)現(xiàn)竟然是參數(shù)傳入錯(cuò)誤導(dǎo)致的。這就扯到了本文的標(biāo)題上了,BaseDexClassLoader中的4個(gè)參數(shù)該如何傳入,傳入的又是什么呢2022-08-08Android應(yīng)用開(kāi)發(fā)中CardView的初步使用指南
這篇文章主要介紹了Android應(yīng)用開(kāi)發(fā)中CardView的初步使用指南,CardView主要處理一些卡片型的視圖布局,需要的朋友可以參考下2016-02-02Flutter學(xué)習(xí)教程之Route跳轉(zhuǎn)以及數(shù)據(jù)傳遞
這篇文章主要給大家介紹了關(guān)于Flutter學(xué)習(xí)教程之Route跳轉(zhuǎn)以及數(shù)據(jù)傳遞的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Flutter具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Android中socket通信的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Android中socket通信的簡(jiǎn)單實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04Android中Glide獲取圖片Path、Bitmap用法詳解
這篇文章主要介紹了Android中Glide獲取圖片Path、Bitmap用法以及代碼分析,需要的朋友們參考一下吧。2017-12-12