android studio中使用recyclerview小白篇(三)

继续接着昨天的来,昨天终于弄好了一个例子,但是那个没有点击事件, 需要自己添加,参照别人的例子,弄了个比较简单的,主要是改动myRecycleradatper.java中的部分.

增加如下的接口:

 //增加一个静态的接口.
    private OnItemClickListener listener;
    public static interface OnItemClickListener {
        void onItemClick(View view , int position);
    }
    public void setOnItemClickListener(OnItemClickListener listener) {
        this.listener = listener;
    }

  

在onBindViewHolder中增加如下的代码

     if (listener != null) {
            holder.v.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    listener.onItemClick(v,position);
                }
            });
        }

  

这就好了,是目前能找到的比较简洁的方法了.

在主界面中直接使用就可以了.如下:

        recycleAdapter.setOnItemClickListener(new myRecycleradatper.OnItemClickListener() {
            @Override
            public void onItemClick(View view, int position) {
                Log.e("constr"," " + position);
            }
        });

  

观看点击后log.e的记录值.

自定义的数据适配器全部代码如下,供参照,虽然不好,但是能用,我也不知啥意思,以后慢慢理解吧:

public class myRecycleradatper extends RecyclerView.Adapter<myRecycleradatper.MyViewHolder> {
    private List<filelist> mDatas;
    private Context mContext;
    private LayoutInflater inflater;

    //增加一个静态的接口.
    private OnItemClickListener listener;
    public static interface OnItemClickListener {
        void onItemClick(View view , int position);
    }
    public void setOnItemClickListener(OnItemClickListener listener) {
        this.listener = listener;
    }

    public myRecycleradatper(Context context, List<filelist> datas){
        this. mContext=context;
        this. mDatas=datas;
        inflater=LayoutInflater. from(mContext);
    }

    @Override
    public int getItemCount() {
        return mDatas.size();
    }
    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View view = inflater.inflate(R.layout.item_view,parent, false);
        MyViewHolder holder= new MyViewHolder(view);

        return holder;
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, final int position) {
        filelist da=mDatas.get(position);
        if(position%2==0){
            //holder.tv.setBackgroundColor(Color.BLUE);
            holder.v.setBackgroundColor(Color.GRAY);
        }
        if (listener != null) {
            holder.v.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    listener.onItemClick(v,position);
                }
            });
        }
        holder.tv.setText(da.getName());
        holder.msg.setText(da.getZt());

    }

    class MyViewHolder extends RecyclerView.ViewHolder{
        TextView tv;
        TextView msg;
        View v;
        public MyViewHolder(View view) {
            super(view);
            tv=(TextView) view.findViewById(R.id.txt_xs);
            msg=(TextView)view.findViewById(R.id.txt_msg);
            v=view;
        }

    }
}

  

时间: 2024-10-13 00:27:23

android studio中使用recyclerview小白篇(三)的相关文章

android studio中使用recyclerview小白篇(四)

经过努力,我们的recyclerview终于可以使用了,但是装配上真实的数据后,发现左边的内容太长了,如果超过一行,左边内容和右边的内容竟然重叠在一起了,好是让人心塞啊,如下图 后来发现设置左边textview的这个属性,android:layout_marginRight="100dp",然后就能很整齐不会重叠在一起了,当然你也得看右边内容的宽度了,一定要宽于右边内容的宽度才行,运行后如下图

android studio中使用recyclerview制作个显示考勤打卡的日历来

1. 用户在app端选择个日期就能查询这个月的考勤打卡信息,并以日历上标注不同的颜色来显示给用户,当然这个日历是recyclerview做出来的,只是每行显示7个,表示一周的七天. 2. 员工考勤打卡的数据获取与分析都是在服务器端完成的,通过app端传入的日期和用户名,来完成用户考勤的提取分析,并把结果返回给app,使用webservice. 3.在app端把数据和recyclerview进行绑定,对不同的结果使用不同的颜色,就这样了,结果还不错. 里面最关键的部分是1. 计算选择的日期下当月有

Android IPC机制(三)在Android Studio中使用AIDL实现跨进程方法调用

在上一篇文章Android IPC机制(二)用Messenger进行进程间通信中我们介绍了使用Messenger来进行进程间通信的方法,但是我们能发现Messenger是以串行的方式来处理客户端发来的信息,如果有大量的消息发到服务端,服务端仍然一个一个的处理再响应客户端显然是不合适的.另外,Messenger用来进程间进行数据传递但是却不能满足跨进程的方法调用,接下来我们来使用AIDL来实现跨进程方法调用,此前我们都是用Eclipse来实现的,这次我们看看在Android Studio中使用AI

android studio中安装git

在android studio中方便的版本控制软件是git,当然还有其他的比如svn,但是和github一起常用算起来git方便很多怎么安装呢?请看下文: 第一步:下载安装git 先在你的电脑上安装git,去git官网上下载,http://www.git-scm.com/download/下载你的电脑对应的版本,安装的时候记住安装的路径比如D:\Git_Install\Git\bin 第二步:android studio 配置git 打开android studio的-----File ----

[Android Studio] Android Studio中查看类的继承关系

转载自:http://blog.csdn.net/hyr83960944/article/details/38098091 查看类的继承关系的快捷键F4,在Android Studio常用快捷键这篇文章中,有写了.今天主要是讲一些关于这个快捷键出来的界面的一些配置,这块功能相对偏冷一些,可能很多人都会用不到.但是关于这些配置,android studio中很多都是类似的. 废话不多说,直接上图,如下图,我选中Activity,然后按F4,右边会出现一个和Activity有继承关系的图. 1.先简

Android Studio中查看类的继承关系

查看类的继承关系的快捷键F4,在Android Studio常用快捷键这篇文章中,有写了.今天主要是讲一些关于这个快捷键出来的界面的一些配置,这块功能相对偏冷一些,可能很多人都会用不到.但是关于这些配置,android studio中很多都是类似的. 废话不多说,直接上图,如下图,我选中Activity,然后按F4,右边会出现一个和Activity有继承关系的图. 1.先简要分析下图中几个元素: 注:这边说第几个图标是从左到右的顺序来数的 第一个图标:显示所有的继承关系,包括父类,子类 第二个图

全面介绍Android Studio中Git 的使用(二)

全面介绍Android Studio中Git 的使用(二) 第一篇:http://blog.csdn.net/gao_chun/article/details/49817229 四.Studio上传项目至GitHub 说完本地Git仓库,那么如何将项目上传至远程的GitHub仓库呢?其实操作也基本上差不多. 我们首先需要有一个GitHub账号,我们登录上去后new 一个仓库: 我们这里用一个示例做测试,名字叫做HelloNDK,并根据需要创建相关文件. Create成功后,我们可以看到如下界面,

全面介绍Android Studio中Git 的使用(一)

全面介绍Android Studio中Git的使用 前言:本篇博文将记录如何在Android Studio中使用Git版本控制系统,这货在草稿箱里已经放了起码有两个月了吧,老躺着想起来了心里不舒服,索性这两天抽了些时间,整理出来算了,最近气温下降的厉害,发现自己越来越懒了. 一.Git 与GitHub 这里首先介绍下Git与GitHub是什么东西,他们之间有何区别呢? Git :分布式版本控制系统,最初用在Linux上,可以和SVN.CVS等作为同一个概念理解,目前世界上最先进的分布式版本控制系

理解与配置android studio中的gradle

使用gradle构建android应用时,你总是需要这样一个文件:build.gradle.你应该已经看过这个文件了,如果没有看过的话,你现在就可以看一下,它没有多少内容.它的简洁性得益于它提供了很多对设置和属性的默认值.gradle是基于groovy语言的,但就使用它构建普通的工程的话,是可以不去学groovy的,如果想深入的做一下自定义的构建插件,可以考虑学一下groovy,因为它是基于java的,所以你有java基础的话,学习不会很难. 这篇博客旨让任何一个人能看懂android stud