最赞回答 / 洋洋洋1
private int i;class MyRunnable implements Runnable{public void run(){i++;i=i%3;imv.setImageResource(images[i]);handler1.postDelayed(myRunnable, 1000);}}这里面的 i 没有初始化啊,应该是int i = 0;
2016-10-14
最新回答 / NullMoneyException
看错误提示啊 我英语不好的都看懂啦 Handler.post(java.lang.Runnable)' on a null object reference Handler是空的 你得初始化他 这年头得想办法自己学会看错误提示 哈哈哈
2016-08-28
最新回答 / 喜得温词
子线程处理一些耗时操作,比如网络请求、I/O操作是因为创建的Handler对象是在子线程中,这个时候调用handleMessage()方法进行一些网络请求的耗时操作就能防止主线程阻塞,但是很多时候子线程需要跟主线程之间进行操作,比如UI的更新是不能在子线程里面进行操作的,所以就需要用主线程的handleMessage()方法在主线程中进行UI更新操作。
2016-08-03
最新回答 / NullMoneyException
它的可以 你的照写不会有问题 哈哈 源码和错误提示都没有 俺们怎么帮你 如果是最后一张报错 应该是 index=index%3 哪个没写把 就到4索引了 可图片只有三张 吧 我猜的 哈哈
2016-07-22
最新回答 / Laughing_ke
public void dispatchMessage(Message msg) { if (msg.callback != null) { handleCallback(msg); } else { if (mCallback != null) { if (mCallback.handleMessage(msg)) { return; } } handleMess...
2016-07-16
最赞回答 / 浮沉
Thread是一个线程,HandlerThread也是一个线程,他们的区别就是在getLooper()的时候,Thread不会对Looper是否创建成功进行判断,可能会出现空指针的问题。但是HandlerThread内部是会进行判断的,如果还没有创建,就会进行等待,直到创建成功,这样可以避免空指针情况。所以HandlerThread本质上就是在Thread上封装了一层,是谷歌方便我们进行使用的东西,本质上还是Thread。
2016-07-09