【发布时间】:2012-03-20 14:31:23
【问题描述】:
我有这个来自site.的sn-p
final ProgressDialog dialog = ProgressDialog.show(this, "Title",
"Message", true);
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
dialog.dismiss();
}
};
Thread checkUpdate = new Thread() {
public void run() {
//
// YOUR LONG CALCULATION (OR OTHER) GOES HERE
//
handler.sendEmptyMessage(0);
}
};
checkUpdate.start();
我不完全理解它是如何完全工作的,除了它为 ProcessDialog 创建一个新线程以运行直到进程完成。
我假设如果我错了,这当然会纠正我,这会创建一个新线程,使现有线程仍在运行,这将导致 .xml 项上出现空值。
我的问题是
如何在不进入 null 的情况下运行此代码 指针异常?
是否有另一种替代解决方案来做类似的事情 这个?
【问题讨论】:
-
哪一行会出现空指针异常?
-
请提供您的 NullPointerException 的堆栈跟踪。
-
试试这个...使用 getapplicationcontext() 而不是 'this'
-
方法超过 100 行,但是我可以告诉你,在线程计算之后,它会进入 log.i,它给出一个输入但字符串是空的。