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;
}
}
}
android studio中使用recyclerview小白篇(三)的更多相关文章
- android studio中使用recyclerview小白篇(二)
前面一个说了怎么把这个包引用进来,这一节说怎么做一个简单的例子出来,我也是照着别人的例子写的,然后慢慢改就行了,做好的效果如下图 1.在我们的activity_main中把recyclerview填加 ...
- android studio中使用recyclerview小白篇(四)
经过努力,我们的recyclerview终于可以使用了,但是装配上真实的数据后,发现左边的内容太长了,如果超过一行,左边内容和右边的内容竟然重叠在一起了,好是让人心塞啊,如下图 后来发现设置左边tex ...
- android studio中使用recyclerview小白篇(一)
本人就是小白,昨天在使用listview时,看到说有更好的控件出来了,在V7包中,需要SDK21及以上,那就试着用用吧,今天试了一天,终于弄的能简单使用了,分享一下. 怎么导入这个recycleyvi ...
- android studio中使用recyclerview制作个显示考勤打卡的日历来
1. 用户在app端选择个日期就能查询这个月的考勤打卡信息,并以日历上标注不同的颜色来显示给用户,当然这个日历是recyclerview做出来的,只是每行显示7个,表示一周的七天. 2. 员工考勤打卡 ...
- Android IPC机制(三)在Android Studio中使用AIDL实现跨进程方法调用
在上一篇文章Android IPC机制(二)用Messenger进行进程间通信中我们介绍了使用Messenger来进行进程间通信的方法.可是我们能发现Messenger是以串行的方式来处理client ...
- Android studio 中引用jar的其实是Maven?(二)
上一篇:Android studio 中引用jar的其实是Maven?(一) 搭建maven仓库: 去了解一个新的事物的时候,最好的方式就是去使用它.例如去了解一座城市的时候,最好的方式就是乘坐公共交 ...
- Android studio 中引用jar的其实是Maven?(一)
由于Studio比eclipse多了一步对工程构建的步骤,即为build.gradle这个文件运行,因此其引入第三方开发jar包与lib工程对比Eclipse已完成不同,引入第三方jar与lib工程显 ...
- [Android Studio] Android Studio中查看类的继承关系
转载自:http://blog.csdn.net/hyr83960944/article/details/38098091 查看类的继承关系的快捷键F4,在Android Studio常用快捷键这篇文 ...
- Android Studio中查看类的继承关系
查看类的继承关系的快捷键F4.在Android Studio经常使用快捷键这篇文章中.有写了.今天主要是讲一些关于这个快捷键出来的界面的一些配置.这块功能相对偏冷一些,可能非常多人都会用不到.可是关于 ...
随机推荐
- java代码逆序输出数字
总结:请告诉我更好的方法~~~总觉得不好. package com.badu; import java.util.Scanner; //逆序输出数字: // class fa { public sta ...
- spring-session之一:简介、使用及实现原理
一.背景 http session(企业)一直都是我们做集群时需要解决的一个难题,我们知道HttpSession是通过Servlet容器创建和管理的,像Tomcat/Jetty都是保存在内存中的.而如 ...
- 怎样使用charles抓包
本人因为是做前端的工作,需要后台写的一些数据,所以我需要一个神器能够抓到pc端或是移动端的后台数据,近期我发现一个神器“Charles”抓包神器. 需要操作的步骤如下: 1.先在网上下载Charles ...
- 获取access_token错误 40164
没有添加IP白名单
- nios 使用count binary 例程 只是led不闪
系统id有问题的总结: 1, 复位是否正确.(特别使用拨码开关的) 2, 硬件连接是否有问题.(SDRAM的时序约束可以有,也可以没有) 3, 引脚分配是否正确.(SDRAM的dqm就错过一次) 4, ...
- springboot成神之——spring的文件上传
本文介绍spring的文件上传 目录结构 配置application DemoApplication WebConfig TestController 前端上传 本文介绍spring的文件上传 目录结 ...
- chrome启动参数设置
chrome禁止本地浏览时加载本地其他文件,可以采用添加启动参数的方式来支持 添加参数为 --allow-file-access-from-files 或者 --disable-web-securi ...
- 第十二章 MySQL触发器(待续)
······
- Java面向对象-面向对象编程之基本概念
面向对象这个概念,每本书上的说法定义很多. 我自己根据我的经验,自己归档总结了下, 所谓面向对象,就是 以基于对象的思维去分析和解决问题,万物皆对象: 面向对象经常和面向过程放一起讨论: 这里举例, ...
- fatal error C1083: 无法打开包括文件:“qedit.h”: No such file or directory
VS2010编译 DirectShow一些项目时遇到 错误:fatal error C1083: 无法打开包括文件:“qedit.h”: No such file or directory 解决方法: ...