进度对话框给了我NPE。代码在另一个应用程序中工作正常但是当我将它合并到我的时候我在mProgress.hide获得了一个NPE
private void showDialog()
{
mProgress = ProgressDialog.show(this, "Thinking",
"Waiting for Facebook", true);
}
private void hideDialog()
{
mProgress.hide();
}
这就是我对其进行初始化的方式;
private ProgressDialog mProgress;
答案 0 :(得分:1)
不,你刚刚宣布了你的ProgressDialog。你还没有真正创建过一个对象。 你需要做这样的事情:
mProgress = new ProgressDialog(context);
答案 1 :(得分:0)
我在mProgress.hide获得NPE
此初始化失败
mProgress = ProgressDialog.show(this, "Thinking",
"Waiting for Facebook", true);
因此mProgress
为空。
确保this
引用有效的上下文
public static ProgressDialog show(Context context,CharSequence title,CharSequence消息,布尔不确定)
答案 2 :(得分:0)
在致电mProgress
之前检查null
是否不是mProgress.hide()
...所以,请按以下方式更新hideDialog()
方法......
private void hideDialog() {
if (mProgress != null) {
mProgress.hide();
}
}