簡體   English   中英

Android Fragment-重新啟動應用程序時,getActivity()。runOnUiThread返回null

[英]Android Fragment - getActivity().runOnUiThread returns null when restarting app

當我第一次啟動該應用程序時,下面的代碼可以正常工作。 但是當離開應用程序並再次打開它時,我收到一條錯誤消息,說getActivity() returns null.

我正在片段中執行以下代碼:

(getActivity()).runOnUiThread(new Runnable() {
            @Override
            public void run() {
                    enableMenu();
                    openMenu();
                    navigateToFragment(new BlankFragment());
                }
            });

該怎么辦 ?

如何獲得活動?

創建Activity對象,並將其分配給onAttach方法,如下所示。 有時getActivity提供null,因此它是在onAttach中創建活動實例並使用該實例的更好方法。

private Activity mActivity;

@Override
public void onAttach(Activity activity) {
   super.onAttach(activity);
   mActivity = activity;
}

現在使用此對象代替getActivity()

現在不贊成使用onAttach(Activity activity)方法。 您應該使用以下一個:

@Override
public void onAttach(Context context) {
super.onAttach(context);
activity = getActivity();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM