美文网首页
EventBus的简单使用

EventBus的简单使用

作者: NiceStars | 来源:发表于2016-12-20 18:20 被阅读0次

EventBus

做个阶段总结

项目上用的越来越多了 之前项目上一直用的是广播 换成eventbus之后感觉世界都变了 ,
说实话广播代码写的确实有点多 换成eventbus之后 代码量少多了

上手

我现在想实现一个功能 两个Fragment之间的通信 就是MainActivity下面的两个Fragment
之间的通讯 FragmentA 里面有个按钮 清除缓存 清除成功之后通知FragmentB去刷新RecycleView

1.先添加依赖

compile 'org.greenrobot:eventbus:3.0.0'

2.这个是Dialog的按钮 按下去提示成功就会post一条信息 参数是在RefreshTaskAdapterEvent类里面定义的布尔值

case R.id.wipecache_ly: 
   AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
   builder.setTitle("清除缓存");  
   builder.setMessage("确定要清除已下载的游戏固件和软件缓存么?");  
   builder.setNegativeButton("确定", new DialogInterface.OnClickListener() {  
         @Override   
     public void onClick(DialogInterface dialog, int which) {    
        // TODO: 2016/12/15 wipecashche           
        Utils.cleanInternalCache(getActivity());       
        Utils.deleteFilesByDirectory(new File("/sdcard/xiaomuXM"));            //删除数据库中存在的信息                  
        Utils.clearDB(DownloadedGame.class);                     
        Utils.clearDB(GameInstallState.class);            //通知taskAdapter 要刷新    
        EventBus.getDefault().post( new RefreshTaskAdapterEvent(true)); 
        Toast.makeText(getActivity(), "缓存已清除", Toast.LENGTH_SHORT).show();      
      dialog.dismiss();    
    } 
   });  
  builder.setPositiveButton("取消", new DialogInterface.OnClickListener() {    
    @Override     
   public void onClick(DialogInterface dialog, int which) {   
         dialog.dismiss();     
   } 
   });    
builder.show();   
 break;
public class RefreshTaskAdapterEvent {  
     private boolean mMsg;   
     public RefreshTaskAdapterEvent(boolean msg) {  
      // TODO Auto-generated constructor stub   
     mMsg = msg;   
      }  
     public Boolean getMsg() {   
     return mMsg;  
     }
  }
EventBus.getDefault().register(this);
@Subscribe
public void onEventMainThread(RefreshTaskAdapterEvent event) {  
  Msg = event.getMsg(); 
   if (Msg) {  
      if (adapter != null) {       
     adapter.notifyDataSetChanged();  
      }   
 }
}

相关文章

  • EventBus3.0使用(一)

    3Steps简单使用EventBus3.0 在使用EventBus 先在Gradle 添加依赖 定义Event事件...

  • EventBus简单使用

    一、简单介绍 EventBus是一种能够简化各组件间的通信,通过解耦发布者和订阅者简化Android事件传递用以代...

  • EventBus 简单使用

    简单记录下EventBus的使用: setup1 接收页面 setup2 接收页面 setup3 setup4 ...

  • EventBus简单使用

    概述 EventBus是一个Android事件发布/订阅框架,通过解耦发布者和订阅者简化Android事件传递,这...

  • EventBus简单使用

    Gradle:compile 'org.greenrobot:eventbus:3.0.0' 2.先注册要使用的A...

  • Android中EventBus的进阶使用

    Android中EventBus的进阶使用 EventBus使用一-基础 1 概述 前一篇给大家简单演示了Even...

  • Android EventBus源码分析

    一、先看看EventBus的简单使用 1. 导入eventbus 2. MainActivity 3. Commo...

  • EventBus简单的使用

    前言:因为用到了第三方SDK,想用Bundle传递数据,发现里面的类没有序列化根本不行啊,所以就用了EventBu...

  • EventBus的简单使用

    EventBus 做个阶段总结 项目上用的越来越多了 之前项目上一直用的是广播 换成eventbus之后感觉世...

  • EventBus 的简单使用

    本篇文章主要介绍以几下个知识点:使用 EventBus 的步骤一个简单的demo 1. EventBus 简介 *...

网友评论

      本文标题:EventBus的简单使用

      本文链接:https://www.haomeiwen.com/subject/yklfvttx.html