Android中fragment嵌套fragment問(wèn)題解決方法
都說(shuō)fragment好用,duang~~,又遇到問(wèn)題了,記錄一下,分享給遇到這個(gè)問(wèn)題的同學(xué)!
1.fragment嵌套fragment時(shí)出現(xiàn)getActivity()為null
activity A嵌套fragment B,B嵌套fragment C,C跳轉(zhuǎn)到activity D,當(dāng)activity D被finish掉之后,C中容易爆出getActivity為空.如果你的activity被回收了,那你需要在bundle中保存一下fragment信息,我的解決方法:fragment實(shí)例化之后會(huì)到activity的fragmentManager中注冊(cè)一下,這個(gè)動(dòng)作封裝在fragment中的onAttach(Activity activity)方法中,可以直接在onAttach(Activity activity)方法中去賦值
2.fragment嵌套fragment時(shí)沒(méi)有執(zhí)行子fragment的onActivityResult方法
activity A嵌套fragment B,B嵌套fragment C,C通過(guò)startActivityForResult跳轉(zhuǎn)到activity D,當(dāng)activity D被finish掉之后,沒(méi)有執(zhí)行C的onActivityResult
其實(shí)這個(gè)問(wèn)題也不是每個(gè)人都會(huì)遇到,當(dāng)你的activity A和Fragment B不重寫(xiě)onActivityResult方法,可能就不會(huì)出現(xiàn)這個(gè)問(wèn)題,但是我的activity A重寫(xiě)了onActivityResult方法,所以當(dāng)activity D被銷(xiāo)毀的時(shí)候,直接去執(zhí)行activity 的onActivityResult,其實(shí)這個(gè)問(wèn)題也很簡(jiǎn)單,只是遇到的時(shí)候可能想不到,解決方案就是在Activity中的onActivityResult方法中加入super.onActivityResult(requestCode, resultCode, data);一切都o(jì)k了
Activity的onActivityResult方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
...
}
fragment的onActivityResult方法:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
}
當(dāng)然有些特殊情況也不走onActivityResult方法,遇到了也不要煩躁,從Activity中的onActivityResult方法中手動(dòng)調(diào)用fragment的方法,把相應(yīng)的數(shù)據(jù)傳遞過(guò)去
如果你有更好的方法,互相交流哦!
- Android基礎(chǔ)之使用Fragment控制切換多個(gè)頁(yè)面
- Android基礎(chǔ)之Fragment與Activity交互詳解
- Android程序開(kāi)發(fā)之Fragment實(shí)現(xiàn)底部導(dǎo)航欄實(shí)例代碼
- Android的Fragment的生命周期各狀態(tài)和回調(diào)函數(shù)使用
- Android Fragment 基本了解(圖文介紹)
- Android fragment實(shí)現(xiàn)多個(gè)頁(yè)面切換效果
- Android 管理Activity中的fragments
- Fragment里添加ListView不要用ListFragment
- FrameLayout和Fragment處理Android應(yīng)用UI布局實(shí)例
- 安卓開(kāi)發(fā)之FragmentPagerAdapter和FragmentStatePagerAdapter詳解
相關(guān)文章
Android 中ListView點(diǎn)擊Item無(wú)響應(yīng)問(wèn)題的解決辦法
如果listitem里面包括button或者checkbox等控件,默認(rèn)情況下listitem會(huì)失去焦點(diǎn),導(dǎo)致無(wú)法響應(yīng)item的事件,怎么解決呢?下面小編給大家分享下listview點(diǎn)擊item無(wú)響應(yīng)的解決辦法2016-12-12
RecyclerView仿應(yīng)用列表實(shí)現(xiàn)網(wǎng)格布局
這篇文章主要為大家詳細(xì)介紹了RecyclerView仿應(yīng)用列表實(shí)現(xiàn)網(wǎng)格布局,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09
Android動(dòng)態(tài)控制狀態(tài)欄顯示和隱藏
這篇文章主要介紹了Android動(dòng)態(tài)控制狀態(tài)欄顯示和隱藏,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
android為L(zhǎng)istView每個(gè)Item上面的按鈕添加事件
本篇文章主要介紹了android為L(zhǎng)istView每個(gè)Item上面的按鈕添加事件,有興趣的同學(xué)可以了解一下。2016-11-11
android現(xiàn)有項(xiàng)目輕微改動(dòng)適配平板心得
這篇文章主要介紹了android現(xiàn)有項(xiàng)目輕微改動(dòng)適配平板心得,對(duì)android適配感興趣的同學(xué)可以參考下2021-04-04
Android 7.0 Nougat不得不知的11項(xiàng)新功能
不得不知的11項(xiàng)Android 7.0 Nougat新功能,感興趣的小伙伴們可以參考一下2016-09-09
Android開(kāi)發(fā)之ProgressDialog進(jìn)度對(duì)話框用法示例
這篇文章主要介紹了Android開(kāi)發(fā)之ProgressDialog進(jìn)度對(duì)話框用法,簡(jiǎn)單介紹了ProgressDialog進(jìn)度對(duì)話框常見(jiàn)函數(shù)功能,并結(jié)合實(shí)例形式分析了ProgressDialog組件創(chuàng)建及使用進(jìn)度對(duì)話框相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
Android自定義進(jìn)度條的圓角橫向進(jìn)度條實(shí)例詳解
本文通過(guò)實(shí)例代碼給大家詳細(xì)介紹了Android自定義進(jìn)度條的圓角橫向進(jìn)度條的相關(guān)資料。非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-09-09

