四种更新UI的方法
2015-09-29 13:43
393 查看
笔记:
使用子线程自带的Looper更新UI:
代码笔记:
// 使用handler.post(Runnable)更新UI public void updateUI_Fun1() { new Thread() { public void run() { Handler handler = new Handler(); handler.post(new Runnable() { @Override public void run() { textView.setText("this is update content"); } }); }; }.start(); } // 使用handler发送消息更新UI public void updateUI_Fun2() { Handler handler = new Handler(new Callback() { @Override public boolean handleMessage(Message msg) { // 对handler发送消息的预处理,返回falst则执行下面的handlerMessage() true则不执行 return false; } }) { public void handleMessage(Message msg) { textView.setText("this is update content"); }; }; } // 使用UI线程更新UI public void updataUI_Fun3() { runOnUiThread(new Runnable() { @Override public void run() { textView.setText("updata ui content"); } }); } // 使用View.post( Runnable)更新UI public void updateUI_Fun4() { textView.post(new Runnable() { @Override public void run() { textView.setText("this is update context"); } }); }
使用子线程自带的Looper更新UI:
代码笔记:
private Handler handler2; private HandlerThread thread; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); myHandlerThread = (Button) findViewById(R.id.MyThreadHandler); handlerThread = (Button) findViewById(R.id.HandlerThread); //利用HandlerThread线程执行耗时操作,可以简单代替AsyncTask等。主线程给子线程发送消息 handlerThread.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { thread=new HandlerThread("aaaa"); thread.start(); handler2=new Handler(thread.getLooper()){ @Override public void handleMessage(Message msg) { Toast.makeText(SecondActivity.this, "this is HandlerThread", Toast.LENGTH_SHORT).show(); } }; handler2.sendEmptyMessage(1); } });
相关文章推荐
- easyui datagrid json出现 $.rows[0].account 原因分析
- SpriteBuilder中频繁的切换场景层的解决办法
- SpriteBuilder中频繁的切换场景层的解决办法
- SpriteBuilder中频繁的切换场景层的解决办法
- IOS开发之——UITextField限制字数
- iOS开发UI篇—在UItableview中实现加载更多功能
- iOS开发UI篇—UIScrollView控件实现图片轮播
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(二)
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)
- iOS开发UI篇—简单介绍静态单元格的使用
- IOS开发UI篇—UITableview控件使用小结
- os开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- IOS开发UI篇—实现UItableview控件数据刷新
- OS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序
- iOS UI进阶-3.0 核心动画
- iOS开发 获取设备UUID
- UIButton的titleEdgeInsets和imageEdgeInsets属性
- POJ - 3061 Subsequence(前缀和+二分和尺取法)
- 《iOS Human Interface Guidelines》——Adaptivity and Layout