handlermessage更新UI的问题

小豪豪君
  • 9

1.使用handler更新UI时出现空指针异常,看来看去没看出什么问题
这是异常信息:
图片描述

以下是代码,子线程中的sendmessage是传递成功的,handlemessage中用toast显示msg也是有的,就是settext时候报空指针异常,求大神帮忙

图片描述
图片描述

回复
阅读 3.8k
6 个回答
✓ 已被采纳

把完整的代码贴上来,别用截图

从楼主的代码看,最有可能报空指针的就是 editText 了,你可以下个断点看一下,这个时候初始化成功了吗

在edittext被findviewbyid后确认一下有没有获取到,是不是id错了。
另外message推荐使用Message msg = handle.obtainMessage()的方式。

糊涂_糖
  • 2
新手上路,请多包涵

我猜是因为activity继承了Thread或者Runnable,线程运行了,而edittext还没有初始化。

话说在用string之前首先先判断一下是否这个string为null, 然后再使用。这个是个习惯

没有看到楼主从哪里运行子线程。
错误信息显示NullPointerException发生在MainActivity的Line 67。多半也就是editText的问题。
有可能子线程已经sendMessage了,Activity的onCreate()方法还没执行。
也有可能 findViewById() 返回了null(填错id什么的)。由于 null的强制类型转换不会出错,所以填错了也不会抛 Exception。

宣传栏