阅读更多

 

  /** handler更新数据标志 */    protected static final int MSG_UPDATE_DATA                  = 2;    protected static final int MSG_INSERT_DB                    = 0;

 

 

public void downloadData() {        updateUIThread( MSG_UPDATE_DATA );        mListView.refreshSelf();    }

 

 public void updateUIThread( final int type ) {        new Thread( new Runnable() {            @Override            public void run() {                mUIhandler.sendEmptyMessage( type );            }        } ).start();    }

 

 /** 刷新UI handler */   private Handler  mUIhandler    = new Handler() {    public void handleMessage(  android.os.Message msg ) {switch ( msg.what ) {    case MSG_UPDATE_DATA:updateListView( ( List ) TaskDbManager .getData( TaskDbManager.TABLE_TASK_RECEIVE, mQueryByState ) );break;     default: break;}    };};

 

 

 

 

 

 

 

 

 

 

 

 

 

handler 处理方法

消息处理代码:    private Handler handler = new Handler() {    public void handleMessage(Message msg) {        switch (msg.what) {            case 1 :                bt.setText("正在下载...");                break;            case 2 :                Bitmap bm = (Bitmap) msg.obj;                iv.setImageBitmap(bm);                break;            case 3 :                Bundle bundle = msg.getData();                String data = bundle.getString("text");                bt.setText(data);                break;        }    }};消息发送代码:方式一:示例1: Message.obtain(handler,1).sendToTarget();示例2: Bitmap bm = NetUtil.downloadNewImg(); Message.obtain(handler, 2, bm).sendToTarget();示例3: // 这条消息,不携带数据,而是携带一段代码, 主线程处理这条消息时,会执行它携带的代码,而不执行其他代码Message.obtain(handler, new Runnable() {    public void run() {        bt.setText("下载内涵图");    }}).sendToTarget();方式二:示例1: handler.obtainMessage(1).sendToTarget();示例2: Bitmap bm = NetUtil.downloadNewImg(); handler.obtainMessage(2, bm).sendToTarget(); 方式三:示例1: Message msg = new Message(); msg.what =1; handler.sendMessage(msg);示例2: Message msg = new Message(); msg.what =2; msg.obj = bm; handler.sendMessage(msg);示例3: Message msg = new Message(); Bundle data = new Bundle(); data.putString("text", "正在下载..."); msg.what = 3; msg.setData(data); handler.sendMessage(msg);示例4:// 创建一个携带代码的消息对象,并发送给主线程执行handler.post(new Runnable() {    public void run() {        // 在主线程中,处理消息时执行        Toast.makeText(                MainActivity.this, "下载结束",                 Toast.LENGTH_SHORT).show();    }});

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。


android handle ui 更新_第1张图片android handle ui 更新_第2张图片android handle ui 更新_第3张图片
 
 
 谢谢您的赞助,我会做的更好!

 

 

更多相关文章

  1. Android Audio代码分析14 - testPlaybackHeadPositionIncrease
  2. Android kill app Process 结束进程代码
  3. Android 工具代码
  4. Android 代码片段
  5. 第一代Android壳源码--某某公司早期壳代码加固原理分析
  6. Android 滑动效果代码分享

随机推荐

  1. 写一个没有Activity的 HelloWorld for an
  2. 通过xml加载菜单Menus
  3. Android图形系统分析与移植--五、Android
  4. android设置在ListView中让TextView滚动
  5. Android 源代码结构
  6. android 电容屏(一):电容屏基本原理篇
  7. android:gravity 和 android:layout_Grav
  8. android图片涂鸦,具有设置画笔,撤销,缩放移
  9. Android(安卓)学习笔记 ——第二行代码
  10. Android使用AudioRecord遇到的问题与解决