-
handler,looper,messageQueue,查看全部
-
handler,looper,messageQueue,查看全部
-
为什么只能通过handler机制更新UI查看全部
-
UI Thread 里面 postDelayed(Runnable, Long); 开启更新 Runnable 里面 postDelayed(Runnable, Long); 定时更新查看全部
-
/** * 更新UI方法一:Handler.post(Runnable) */ private void updateUi1() { handler.post(new Runnable() { @Override public void run() { textView.setText("handler.post"); } }); } /** * 更新UI方法二:Handler.sendMessage(Message) */ private void updateUi2() { Message message = Message.obtain(); message.obj = "handler.sendMessage"; handler.sendMessage(message); } /** * 更新UI方法三:runOnUiThread(Runnable) */ private void updateUi3() { runOnUiThread(new Runnable() { @Override public void run() { textView.setText("runOnUiThread"); } }); } /** * 更新UI方法四:view.post(Runnable) */ private void updateUi4() { textView.post(new Runnable() { @Override public void run() { textView.setText("view.post"); } }); }查看全部
-
此时抛出的异常就是:在非主线程当中不能更新UI查看全部
-
Handler主要是用来:1,更新UI 2,处理消息查看全部
-
public class MyThread extends Thread { /** * 与子线程相关的Handler */ public Handler handler; @Override public void run() { Looper.prepare();//消息队列准备 handler = new Handler(){ @Override public void handleMessage(Message msg) { System.out.println("currentThread:" + Thread.currentThread()); } }; Looper.loop();//循环处理消息 } }查看全部
-
handler负责发送消息; Looper负责接收Handler发送的消息,并直接把消息回传给handler自己; MessageQueue就是一个存储消息的容器;查看全部
-
通过Callback拦截消息,Callback的handleMessage返回true,则不会执行Handler.handleMessage。 Handler handler = new Handler(new Callback(){ bool handleMessage(Message){ } }){ void handleMessage(Message){ } };查看全部
-
Handler.removeCallbacks(Runnable);查看全部
-
Message message = Message.obtain();查看全部
-
非UI线程在主线程中进行,为什么加了睡眠不能了(内容还不了解)查看全部
-
handler概念原理不是很清楚查看全部
-
handler负责发送消息 looper负责接收handler发送的消息,并把消息传回给handler messagequeue就是一个存储信息的容器查看全部
举报
0/150
提交
取消