DialogFragment添加和删除要注意的点

DialogFragment在如何添加?以及添加要注意什么?

如何添加dialogfragment?

dialogfragment如何添加?

1.在添加之前先判断是否被添加过,若已经添加则移除
2.新建一个dialogfragment对象
3.使用show方法

var useDialogFragment = supportFragmentManager.findFragmentByTag("Use") as UseDialogFragment?
        if (useDialogFragment != null) {
            supportFragmentManager.beginTransaction().remove(useDialogFragment).commitAllowingStateLoss()
        }

        if (useDialogFragment == null) {
            useDialogFragment = UseDialogFragment.newInstance(turnToIntroduction(bindingsDetail))
            mUseDialogFragment = useDialogFragment
        }

        if (!useDialogFragment.isAdded) {
            useDialogFragment.show(supportFragmentManager, "Use")
        }

dialogfragment如何删除?

通常dialogfragment的生命周期与activity相关联,若activity在调用在销毁时也会同时销毁掉dialogfragment。如果需要用到强制销毁,则可以调用dismissAllowingStateLoss()方法

小总结

其实findFragmentByTag()和判断isAdded的性质是一样的,都是用来判断fragment是否被添加过。

你可能感兴趣的:(DialogFragment)