天天看點

Fragment重疊問題處理

fragment重疊一般是由于Activity重建導緻的,比如橫豎屏切換。

網上一般給出的解決方法是配置android:configChanges或者add的時候增加tag參數。

不過這兩種方式都有局限性,這裡給出個人覺得更通用的處理方式:

在初始化添加fragment之前,先清除目前Activity已有的fragment。

代碼如下(kotlin代碼):

fun destroyFragment() {
        var fragmentList = supportFragmentManager.fragments
        if (fragmentList != null) {
            for (f in fragmentList) {
                supportFragmentManager.beginTransaction().remove(f).commitAllowingStateLoss()
            }
        }
    }