问题:在消息线程中刷新textview,报exception,Only the original thread that
created a view hierarchy can touch its views
解决:具体是在需要重绘的地方调用handler的sendMessage方法发送消息,紧接着会os会触发handler中的handlerMessage方法,在handlerMessage方法中再调用view的invalidate或者postInvalidate方法就能实现重绘。
具体:
1.主线程(Ui)
Handler
mHandler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
String infoStr =
msg.getData().getString("infoStr");
infoView.setText(infoStr);
super.handleMessage(msg);
}
};
2. 子线程
Bundle infoBundle = new Bundle();
infoBundle.putString("infoStr",
info);
Message msgInfo = new Message();
msgInfo.setData(infoBundle);
mHandler.sendMessage(msgInfo);