關於Fragment可見與不可見時的生命週期

月光邊境發表於2018-01-19

1.使用replace方式載入一個fragment:

getSupportFragmentManager().beginTransaction().replace(R.id.container,new FirstFragment()).commit();

此時fragment在onStart時可見,onStop時不可見。

2.使用add hide show 的方式載入:

    @Override
    public void onHiddenChanged(boolean hidden) {
        super.onHiddenChanged(hidden);
        if (hidden)
            onInvisible();
        else
            onVisible();
    }
複製程式碼

3.巢狀在ViewPager中時:

    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (getUserVisibleHint())
            onVisible();
        else
            onInvisible();
    }
複製程式碼

相關文章