• Android在其他线程中更新UI


    public class TransferTools {
    
    	private static final int MSG_START = 1001;
    	private static final int MSG_TRANSFERRING = 1002;
    
    	public void setTransferListener(TransferListener mListner) {
    		mTransferListener = mListner;
    	}
    
    	public interface TransferListener {
    		/**
    		 * 开始
    		 */
    		void onStart();
    
    		void onTransfer(String text);
    	}
    
    	private static TransferListener mTransferListener = null;
    	
    	private static Handler sHandler = new Handler(Looper.getMainLooper()) {
    		@Override
    		public void handleMessage(android.os.Message msg) {
    			if (mTransferListener == null) {
    				return;
    			}
    			switch (msg.what) {
    
    			case MSG_START:
    				mTransferListener.onStart();
    				break;
    			case MSG_TRANSFERRING:
    				mTransferListener.onTransfer((String) msg.obj);
    				break;
    
    			default:
    				break;
    			}
    
    		};
    	};
    
    	private void work() {
    		//...耗时操作,如网络请求
    		Message msg = sHandler.obtainMessage();
    		msg.what = MSG_START;
    		msg.obj = message;
    		sHandler.sendMessage(msg);
    	}
    }
    

      

  • 相关阅读:
    POJ 2253 Frogger
    POJ 2387
    codevs3981动态最大子段和(线段树)
    P3398仓鼠(LCA)
    codevs1036商务旅行(LCA)
    codevs3728联合权值(LCA)
    P3390矩阵快速幂
    codevs1574广义斐波那契数列
    POJ3070Fibonacci
    P3379最近公共祖先(LCA)
  • 原文地址:https://www.cnblogs.com/jasonkent27/p/4886049.html
Copyright © 2020-2023  润新知