安卓 多线程、以及使用Handler发送、处理Message(新手笔记-10)
2018-03-09 16:39
302 查看
我是用一个fragment实现的,有差异的地方自行更改:
public class SecondFragment extends Fragment { public static final int UPDATE_INT = 1; TextView textView; Button second_btn; View view; //使用handler进行消息处理和传递 private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what){ case UPDATE_INT: Log.v("Message", msg.what + ""); break; case 0: Log.v("Message", "00000000000000000"); break; default: Log.v("Message","aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); } super.handleMessage(msg); } }; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { //避免同一activity下 多个fragment 切换时重复执行onCreateView方法 // Fragment之间切换时每次都会调用onCreateView方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态。 if (view == null) { view = inflater.inflate(R.layout.second_fragment, container, false); } else { ViewGroup parent = (ViewGroup) view.getParent(); if (null != parent) { parent.removeView(view); } } textView = view.findViewById(R.id.second_title); second_btn = view.findViewById(R.id.second_btn); String text = textView.getText().toString(); second_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //多线程的应用 new Thread(new Runnable() { @Override public void run() { Message msg = new Message(); msg.what = UPDATE_INT; handler.sendMessage(msg); //sendEmptyMessage封装了一个msg.what,可以直接通过输入参数设置what,其他信息为空 handler.sendEmptyMessage(0); } }).start(); } }); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } }
相关文章推荐
- Android多线程消息处理机制(四) Message、MessageQueue源码解析和Handler综合使用
- Android应用开发学习笔记之多线程与Handler消息处理机制
- Android开发(12)--多线程处理机制之Handler的使用方法
- (转)iOS并发编程笔记,包含GCD,Operation Queues,Run Loops,如何在后台绘制UI,后台I/O处理,最佳安全实践避免互斥锁死锁优先级反转等,以及如何使用GCD监视进程文件文件夹,并发测试的方案等
- 从网络上面获得html数据以及 handler Message的使用形式
- 10_Android中通过HttpUrlConnection访问网络,Handler和多线程使用,读取网络html代码并显示在界面上,ScrollView组件的使用
- Android多线程及异步任务消息处理机制(一)--Handler的使用
- Android应用开发学习笔记之多线程与Handler消息处理机制
- Android Handler机制 (一个Thead中可以建立多个Hander,通过msg.target保证MessageQueue中的每个msg交由发送message的handler进行处理 ,但是
- 安卓消息处理机制(Looper,Handler,Message)
- 安卓笔记之自定义广播事件发送自定义广播以及接受者优先级
- Android开发学习笔记(8):浅谈Handler实现多线程和异步处理
- 新手笔记之安卓自定义title标题栏使用
- MessageQueue.IdleHandler接口使用方法以及原理分析
- 安卓简历技术点之熟练使用Handler以及AsyncTask异步框架。
- 使用handler和Message获取xutils发送POST请求从服务器端返回数据
- 【安卓笔记】Handler+Thread使用浅析
- 与多线程结合使用的消息处理类Handler、Message
- Handler和多线程以及openOptionsMenu的使用。
- iOS并发编程笔记,包含GCD,Operation Queues,Run Loops,如何在后台绘制UI,后台I/O处理,最佳安全实践避免互斥锁死锁优先级反转等,以及如何使用GCD监视进程文件文件夹,并发测试的方案等