日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Fragment崩溃后重启

發布時間:2025/5/22 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Fragment崩溃后重启 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

問題:Fragment崩潰后重啟,會重新渲染一遍UI,導致出現兩層UI。
原因:這是由于崩潰時Android系統自動存儲了一些信息,重啟后Fragment初始化了兩遍(onCreateView) UI導致的 。 解決方法:
1.給每一個Fragment設置一個不是透明的背景,這樣可以把下面那一層UI遮住了。不過這種方法不推薦。
2.在Activity的基類里面,判斷savedInstanceState是否為空,是的話,就不要再初始化UI了。示例代碼如下:

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(getActivityContentId());//savedInstanceState是否為空,是空的話才初始化UIif (savedInstanceState == null) {initView();}}

其實在這種情況下,是重啟前的fragment實例沒有銷毀,可以通過給fragment設置tag,然后通過tag找回相應的fragment,判斷該fragment是否為null,來決定是否重新初始化fragment。通過FragmentManager來管理,比如getFragmentManager().findFragmentByTag("tag");

轉載于:https://my.oschina.net/u/2606060/blog/810312

總結

以上是生活随笔為你收集整理的Fragment崩溃后重启的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。