在开发的过程中,遇到了Unable to add window -- token null is not for an application 的错误。在网上寻得原因和解决方法,Mark于此。
在Fragment的onCreate()方法中,希望首先显示一个ProgressDialo。原先代码为:
@Override
public void onStart() {
super.onStart();
ProgressDialog progressDialog = ProgressDialog.show(getActivity().getApplicationContext(),"","正在读取...",false,true);
}
在程序启动时,加载Fragment时,崩溃。
原因在于只有一个Activity才能添加一个窗体,因此在
ProgressDialog.show(Context context)
中不可使用
getActivity().getApplicationContext()
,而直接改为
getActivity()
,就可以创建ProgressDialog了。问题解决。