Android在非UI线程中更新UI的方法

1、使用Thread+Handler实现非UI线程更新UI界面

private MyHandler mHandler = new MyHandler();

......
	mHandler.sendResult(MyHandler.UPDATE_VIEW, null);
......

       private class MyHandler extends Handler{
               private static final int UPDATE_VIEW = 0;
               @Override
               public void handleMessage(Message msg) {
                       switch (msg.what) {
                       case UPDATE_VIEW:
                               updateView();
                               break;
                       default:
                               break;
                       }
               }
               private void sendResult(int result, Object obj) {
                       Message message = new Message();
                       message.what = result;
                       message.obj = obj;
                       sendMessage(message);
                       //obtainMessage(result, obj).sendToTarget(); //效率更高
               }
       }

2、使用View的post方法来更新UI

	mView.post(new Runnable() {
		@Override
		public void run() {
			updateView();
		}
	});


Android在非UI线程中更新UI的方法,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。