Android 回调机制

作者: 超神的菠萝 | 来源:发表于2016-09-02 12:02 被阅读347次

今天无意中看到了说java的回调机制,我感觉就和我以前用过的一样啊。。。所以就记录下来。。。

说说怎么接触到回调的。。

新出来一个Recyclerview,之前一直用的listview,因为是新的东西就想看看。。那时候没有什么开源的通用adapter像hongyang的。。listview设置item点击只要简单的 setItemClick就OK了。。但是recyclerview就没有给这个方法。。。之后各种找,什么setOnTouch。。。都试过,结果都不理想,最后在hongyang的博客里面说了一种设置一个接口,之后回调回去就行了,很简单。。但是对我这种java基础也不厉害的人来说还是研究了好久。。之后多用了几次,大概就明白是什么意思了。。

RecyclerView的item点击是怎么做的。。

在RecyclerView的adapter中有一个onBindViewHolder方法,一般绑定数据都是在这里绑定的,就是给item上面的TextVIew或者其他View设置数据,同时可以设置点击事件,当然也可以直接给item做点击,例如
<code>
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//处理点击事件
}
});
</code>
但是处理代码在adapter中,不好和activity交互,这时候你就需要把 “处理点击事件” 放在activity中做处理。。
方法就是写一个接口类。。。例如
<code>
public interfac OnItemClickListener{
void onItemClick(View view);
}
</code>
定义一个OnImteClickListener的接口。。这个类里面的方法就是你要交给actvity处理的东西,比如说你要处理的就是这个Item,那就把View传给activity做处理,当然这个接口类OnItemClickListener你想放在adapter里面定义也可以,或者定义在外部,那样子他就可以给其他的地方也可以使用,定义好接口类以后,在adapter中先定这个接口
<code>private OnItemClickListener onItemClickListener;</code>
接着要实例化一个出来。。。实例化的时候不需要new一个出来,而是需要activity传一个进来。。。代码就是先在adapter中设置一个方法
<code>
public void setOnItemClickListener(OnItemClickListener onItemClickListener){
this.onItemClickListener = onItemClickListener;
}
</code>
这样子在activity初始化好adapter后,直接调用这个方法,就将实例化好的adapter传了进来,我们adapter中的接口是拿的activity中的。
<code>
adapter.setOnItemClickListener(new OnitemclickListener(){
public void onClick(View v) {
//处理点击事件
}
})
</code>
处理的方法就可以放在activity中做啦。。

大概就是这个处理过程吧。。。其实就是多用就好了,没事做的时候研究几分钟,研究几次就OK了。。以后碰到类似的地方就可以使用,很实用。。。。。
贴下图。。

Paste_Image.png

这个是Recyclerview设置点击的方式。。当然只是举例回调,学会了这种的话以后在其他地方就知道怎么使用了。。。

相关文章

  • 带你了解Android接口回调机制

    Android接口回调机制 接口回调是在Android中运用广泛的一种机制,你一定会眼熟它,接下来,我们从两个方面...

  • Android 回调机制

    今天无意中看到了说java的回调机制,我感觉就和我以前用过的一样啊。。。所以就记录下来。。。 说说怎么接触到回调的...

  • Android回调机制浅谈

    参考博客如下http://blog.csdn.net/xiaanming/article/details/8703...

  • android回调机制(附源码)

    1.回调的用处 1.要实现一个回调,一般需要三个类: 定义接口类、实现接口类、设置触发接口类;2.在android...

  • 通过Anroid onClick函数理解JAVA回调机制

    本文通过介绍Android事件监听机制来了解下Java的回调机制,即当你点击一个button的时候发生了什么,点击...

  • android 回调

    在Android开发中我们很多地方都用到了方法的回调,回调就是把方法的定义和功能导入实现分开的一种机制,目的是为了...

  • Android中接口回调/方法回调

    在android开发中我们很多地方都用到了方法的回调,回调就是把方法的定义和功能导入实现分开的一种机制,目的是为了...

  • 回调机制

    故事:老师提问: 1+1= ?学生: 开始进行计算。学生给出答案并告诉老师,老师宣布答案。 老师调用学生,学生...

  • 回调机制

    模块间的调用关系 在一个应用系统中,无论使用何种语言开发,必然会存在模块之间的调用,调用的方式主要包含: 同步调用...

  • [Android进阶】Handler机制原理解析

    Handler是Android中提供的一种异步回调机制,也可以理解为线程间的消息机制。为了避免ANR,我们通常会把...

网友评论

    本文标题:Android 回调机制

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