羊皮书APP(Android版)开发系列(二十)在Activity中响应ListView,GridView 内部按钮的点击事件

业务稍微复杂一点的界面,在ListView,GridView等的Adapter中都会有内部按钮,需要处理内部按钮的点击事件。而Adapter和Activity是分离的(不要将Adapter写在Activity里面),这时候,我们可以使用回调来实现Activity中响应ListView,GridView 内部按钮的点击事件。

在Adapter中定义一个接口(或在外面定义也可以)

 private Callback editCallback;
 public interface Callback {
        public void click(View v);
    }

为Adapter创建构造方法

 public StudentNormalDataInfoAdapter(Context context,Callback editCallback) {
        super();
        mInflater = LayoutInflater.from(context);
        this.editCallback = editCallback;
    }

在Adapter中的getView中设置点击事件

viewHolder.students_quality_delete_bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                editCallback.click(v);
            }
        });

完成以上几步,就可以在Activity中响应按钮点击事件了

public class HistoryActivity extends Activity implements Callback {
 @Override
    public void click(View v){
    L.e("响应按钮点击事件");
    }
    ...
}

通常点击事件都会带有一些参数,这个时候只要在接口Callback的click上直接加参数即可。 另外,其他这方面的需求也都可以采用这种方式,要学会举一反三哦!

关于Adapter今天看见鸿洋大神开源出来的baseAdapter,挺好的,有很多地方值得大家学习,推荐大家看一下。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android干货

浅谈SnackBar(Toast大兄弟)

16540
来自专栏CodingBlock

Android学习笔记(七)两个Fragment简单跳转示例

  在前两篇博文中分别介绍了Fragment得基础和Fragment的生命周期,然而说了这么多Fragment到底怎么用呢以及我们为什么要使用Fragment?...

22680
来自专栏学海无涯

Android开发之Fragment回退栈

在Android开发之Fragment动态使用一文中,说到replace方法切换Fragment,会造成Fragment不断销毁、创建,但是有没有办法实现像Ac...

32040
来自专栏Android知识点总结

1-AVI--Fragment基础使用

12920
来自专栏向治洪

android的RadioGroup讲解

这个主要是如何替换fragment的demo。效果图如下(下面的tabhost和上面的bar不属于这次的内容,这个是我做的一个应用程序框架的一部分,有需要的或者...

250100
来自专栏Android干货

浅谈SnackBar(Toast大兄弟)

28240
来自专栏酷玩时刻

微信、支付宝App支付-JPay0.0.2发布JPay

对微信App支付、支付宝App支付的二次封装,对外提供一个相对简单的接口以及支付结果的回调

13740
来自专栏水击三千

Android学习自定义Dialog

Dialog是Android提供的各种对话框的基类,和上篇的DialogFragment类似。为什么还要介绍Dialog呢,因为DialogFragment只能...

34690
来自专栏james大数据架构

Android中BroadcastReceiver广播

BroadCastReceiver 简介 广播接收者( BroadcastReceiver )用于接收广播 Intent ,广播 Intent 的发送是通过调用...

23150
来自专栏向治洪

ViewPagerIndicator+viewpager指示器详解

前几天学习了ViewPager作为引导页和Tab的使用方法。后来也有根据不同的使用情况改用Fragment作为Tab的情况,以及ViewPager结合Fragm...

1.1K90

扫码关注云+社区

领取腾讯云代金券