在Fragment中使用Toast時會報錯,主要原因是獲取不到上下文。
測試了一下,即使是放在onAttach()裏面Context也還是null,所以只能在onCreate()裏面初始化。
- 代碼:
Toast.makeText(getActivity(), "測試", Toast.LENGTH_SHORT).show();
- 錯誤:
NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
- 解決辦法:
private Context mContext;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.mContext = getActivity();
}
.
.
.
Toast.makeText(mContext, "網絡連接異常", Toast.LENGTH_SHORT).show();