据上篇我转载的 Handler,Looper, Message 三者关系深入消化,理解后。我们会很清楚地使用了子线程和Ui线程通信的问题。
即解决了一个网络请求成功或者失败后,通知ui线程更新界面的case。
但是有人会疑问,那子线程中是否可以创建一个Handler,仅仅通知线程呢? 答案是肯定的。
直接上代码。
- new Thread(new Runnable() {
- public void run() {
- Handler handler = new Handler(){
- @Override
- public void handleMessage(Message msg) {
- Toast.makeText(getApplicationContext(), "handler msg", Toast.LENGTH_LONG).show();
- }
- };
- handler.sendEmptyMessage(1);
- };