EventBus是一个方便与Android中各组件通信的开源框架,开源地址;https://github.com/greenrobot/EventBus。EventBus功能非常强大
,今天在做一个功能时。遇到了点击事件的冲突问题及数据传递更新问题。

详细点就是在能够上下拉刷新的ListView的Header上有GridView。此时,GridView的OnitemClick事件与ListView的OnItemClick事件冲突。

并且我在实现 Griview的点击事件时,还要进行数据传递。

解决过程1:

OnitemClick点击冲突问题,我把在代码中的OnitemClick事件凝视了,然后在GridView的item布局依据加了id,然后在Adapter中对整个item做了个OnClick()点击事件,问题攻克了。

解决过程1:数据传递问题,就用到了EventBus:

在Activity中注冊EventBus:在Oncreate()方法中;EventBus.getDefault().register(this);

然后在OnStop()或OnDestory()中:EventBus.getDefault().unregister(this);

事件处理方法onEventMainThread:

public void onEventMainThread(CategoryItemEvent event) {

Bundle bundle = new Bundle();

bundle.putInt(...);

.......//传递数据,实现跳转

}

在Adapter中做的就是POST事件;

holder.categoryRela.setOnClickListener(new OnClickListener() {



@Override

public void onClick(View v) {

EventBus.getDefault().post(new CategoryItemEvent(pos));//在post的时候,传递了一个int类型的參数pos,这个參数在Activity中EventBus运行onEventMainThread(CategoryItemEvent event)时会用到这个pos。

}

});

EventBus在Android中的简单使用的更多相关文章

  1. MVP架构在xamarin android中的简单使用

    好几个月没写文章了,使用xamarin android也快接近两年,还有一个月职业生涯就到两个年了,从刚出来啥也不会了,到现在回头看这个项目,真jb操蛋(真辛苦了实施的人了,无数次吐槽怎么这么丑),怪 ...

  2. android中实现简单的聊天功能

    这个例子只是简单的实现了单机版的聊天功能,自己跟自己聊,啦啦~~ 主要还是展示RecyclerView控件的使用吧~ 参考我之前写的文章: android中RecyclerView控件的使用 andr ...

  3. Gradle在Android中的简单使用

    Gradle在Android中简单的使用 还望支持个人博客站:http://www.enjoytoday.cn Android Studio 使用gradle进行工程构建,为了更好的了解整个andro ...

  4. android 中Log - 简单使用

    例如,我们可以使用'Log.d'进行Debug,在java代码中输入Log.d(String tag, String message),tag为自己命名的tag,message为待输出的信息.然后打开 ...

  5. android中的简单animation(四)3D transition

    animation_main_screen.xml: <?xml version="1.0" encoding="utf-8"?> <Fram ...

  6. android中的简单animation(三)accelerate(加速),decelerate(减速),anticipate,overshoot,bounce

    animation_3.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  7. android中的简单animation(二)push up,push left,cross fade,hyperspace

    animation_2.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  8. android中的简单animation(一)shake

    1.shake animation_1.xml: <?xml version="1.0" encoding="utf-8"?> <Linear ...

  9. android中实现简单的播放

    MediaPlayer mediaPlayer1; mediaPlayer1 = MediaPlayer.create(getBaseContext(), R.raw.ic_yanyuan); med ...

随机推荐

  1. php 常用 常量集合

    DIRECTORY_SEPARATOR 常量 DIRECTORY_SEPARATOR  目录分割符

  2. c#3.0提供的扩展方法

    在c#3.0之前,想要为内置的类型添加一个方法显然是不可能的.但是,c#3.0提供的扩展方法可以解决这个问题.具体代码如下: public static class ExtendedClass {pu ...

  3. python 多线程批量传文件

    #!/usr/bin/env python #_*_ coding:utf-8 -*-#autho:leiyong#time:2017-06-05#version: 1.3 import parami ...

  4. Ajax-javascript

    一.Web 2.0的特点 提到Ajax不得不提到WEB2.0 1.用户贡献内容 2.内容聚合RSS 3.更丰富的"用户体验" 二.Ajax的作用 无刷新:不刷新整个页面,只刷新局部 ...

  5. Java面试之框架篇(八)

    71,谈谈你对Struts的理解. 1. struts是一个按MVC模式设计的Web层框架,其实它就是一个Servlet,这个Servlet名为ActionServlet,或是ActionServle ...

  6. 小随笔:利用Shader给斯坦福兔子长毛和实现雪地效果

    0x00 前言 发现最近没有了写长篇大论的激情,可能是到了冬天了吧.所以这篇小文只是简单介绍下如何在Unity中利用shader很简单的实现雪地效果以及毛皮效果,当然虽然标题写在了一起,但其实这是俩事 ...

  7. P2704 炮兵阵地

    题目描述 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队.一个N*M的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图.在每一格平原地形上最 ...

  8. Chapter 7:Linking

    概述: 在linux上,从c源码到可执行文件主要需要经历translator(compiler.assembler)生成object file,再经由linker连接成executable objec ...

  9. 父类清除浮动的原因、(清除浮动代码,置于CSS中方便调用)

    浮动因素在静态网页制作中经常被应用到,比如要让块级元素不独占一行,常常应用设置float的方式来实现.但是应用的时候会发现,设置了子类浮动后,未给父类清除浮动,这样就会造成一下问题: 1.浮动的元素会 ...

  10. 关于cocos2d-x面试的问题

    关于高效渲染的问题: 1.先说下渲染批次:这是游戏引擎中一个比较重要的优化指标,指的是一次渲染凋用.也就是说,渲染的次数越少,游戏的运行效率越高. 2.CCSpriteBatchNode就是cocos ...