1、概述
关于Eventbus的介绍,前面已经有两篇:Android EventBus实战 没听过你就out了和Android EventBus源码解析 带你深入理解EventBus , 如果你觉得还有问题,没关系,接下来我带大家手把手打造从无到有的编写这样的框架~~~
首先我们回顾一下,这玩意就是在register时,扫描类中复合命名规范的方法,存到一个map,然后post的时候,查找到匹配的方法,反射调用;好,那么根据这一句话,我们就开始编写框架之旅~~~
2、依然是原来的配方
以下出现的实例代码和Android EventBus实战 没听过你就out了基本一致,所以我就贴出部分
1、ItemListFragment
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
package com.angeldevil.eventbusdemo; import android.os.Bundle; import android.support.v4.app.ListFragment; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import com.angeldevil.eventbusdemo.Event.ItemListEvent; import com.zhy.eventbus.EventBus; public class ItemListFragment extends ListFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Register EventBus.getInstatnce().register(this); } @Override public void onDestroy() { super.onDestroy(); // Unregister EventBus.getInstatnce().unregister(this); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); // 开启线程加载列表 new Thread() { public void run() { try { Thread.sleep(2000); // 模拟延时 // 发布事件,在后台线程发的事件 EventBus.getInstatnce().post(new ItemListEvent(Item.ITEMS)); } catch (InterruptedException e) { e.printStackTrace(); } }; }.start(); } public void onEventUI(ItemListEvent event) { setListAdapter(new ArrayAdapter<Item>(getActivity(), android.R.layout.simple_list_item_activated_1, android.R.id.text1, event.getItems())); } @Override public void onListItemClick(ListView listView, View view, int position, long id) { super.onListItemClick(listView, view, position, id); EventBus.getInstatnce().post(getListView().getItemAtPosition(position)); } } |
2、ItemDetailFragment
1 2 3 , 如果你觉得还有问题,没关系,接下来我带大家手把手打造从无到有的编写这样的框架~~~
首先我们回顾一下,这玩意就是在register时,扫描类中复合命名规范的方法,存到一个map,然后post的时候,查找到匹配的方法,反射调用;好,那么根据这一句话,我们就开始编写框架之旅~~~ 2、依然是原来的配方以下出现的实例代码和Android EventBus实战 没听过你就out了基本一致,所以我就贴出部分 1、ItemListFragment
2、ItemDetailFragment
|