9月 22, 2017

『Android』解決IllegalStateException: Fragment not attached to Activity


遇到這種問題,通常都是Fragment來不及去attached他本身的Activity

這時,如果你去呼叫需要此Activity的相關動作時,就會發生這樣的Crash




解決方法目前我只找到兩種

第一就是在Fragment的onStart再次取得Activity,如下:
@Override
    public void onStart(){
        super.onStart();
        Log.i(TAG, "onStart");
        mActivity = getActivity();
    }

隨後即可以呼叫mActivity來做事

如果第一個方法也沒救!

第二個方法就是加入判斷式isAdded():
if(isAdded()){
    //你要Activity做的事情
}

就是確認這個Fragment有被加到Activity

沒有留言:

Related Posts Plugin for WordPress, Blogger...