在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();