RecyclerView-------MyAdapter代码
package com.example.administrator.recyclerview; import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView; import java.util.List; /**
* RecyclerView.Adapter<MyViewHolder>尖括号里面的表示数据的类型
* RecyclerView有自己的Viewholder但是我们需要创建自己的viewholder去实现它
* Created by Zyh on 2016/9/19.
*/
public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> implements View.OnClickListener{
Context content;
List<Dates> mDates;
LayoutInflater inflater; public MyAdapter(Context content, List<Dates> mDates) {
this.content = content;
this.mDates = mDates;
this.inflater=LayoutInflater.from(content);
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view=inflater.inflate(R.layout.item_main,null);
MyViewHolder viewHolder=new MyViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.iT.setImageResource(mDates.get(position).mImageId);
holder.iT.setTag(position);
} //设置数量
@Override
public int getItemCount() {
return mDates.size();
} OnRecyclerViewItemClickListener mListener; // 定义一个接口里面有一个抽象的方法,重点是里面的参数,View要与点击事件的view相对应
protected interface OnRecyclerViewItemClickListener{
public abstract void OnItem(View view,int position);
}
/** 定义一个方法,里面的参数是接口类型的对象,从而在创建接口对象的时候去实现接口的抽象方法,
抽象方法内的参数与系统点击事件的方法一致**/
public void setOnRecyclerViewItemClickListener(OnRecyclerViewItemClickListener mListener){
this.mListener=mListener; }
@Override
public void onClick(View view) { if (mListener!=null){
mListener.OnItem(view, (Integer) view.getTag()); } } } class MyViewHolder extends RecyclerView.ViewHolder {
ImageView iT;
public MyViewHolder(View itemView) {
super(itemView);
iT= (ImageView) itemView.findViewById(R.id.item_image);
}
}
RecyclerView-------MyAdapter代码的更多相关文章
- 为RecyclerView打造通用Adapter
##RecycleView简单介绍 RecyclerView控件和ListView的原理有非常多相似的地方,都是维护少量的View来进行显示大量的数据.只是RecyclerView控件比ListVie ...
- Android RecyclerView与ListView比较
RecyclerView 概述 RecyclerView 集成自 ViewGroup .RecyclerView是Android-support-V7版本中新增的一个Widgets,官方对于它的介绍是 ...
- 一篇博客理解Recyclerview的使用
从Android 5.0开始,谷歌公司推出了RecylerView控件,当看到RecylerView这个新控件的时候,大部分人会首先发出一个疑问,recylerview是什么?为什么会有recyler ...
- RecyclerView 实现gallery画廊效果
1.RecyclerView的基本用法 首先主Activity的布局文件: [html] view plaincopy <RelativeLayout xmlns:android="h ...
- android-基础编程-RecyclerView
以后android-基础编程*都是控件demo里面的,不再累赘重写.直接介绍控件使用. RecyclerView is a more advanced and flexible version of ...
- 基于RecyclerView实现的分组显示信息demo
发布时间:2018-11-07 技术:Android Studio 3.1.3+ RecyclerView+sectionRecyclerViewAdapter 概述 利用sectionedR ...
- RecyclerView 和 ListView 使用对比分析
原文地址:http://blog.coderclock.com/2016/08/08/android/RecyclerView%20%E5%92%8C%20ListView%20%E4%BD%BF%E ...
- Android 自己定义RecyclerView 实现真正的Gallery效果
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38173061 .本文出自:[张鸿洋的博客] 上一篇博客我使用自己定义Horizo ...
- Android Studio 之 ROM【3】,LiveData+ViewModel+AsyncTask+Repository+RecyclerView
教程地址:https://www.bilibili.com/video/av65180549 源码地址:https://github.com/longway777/Android-2019-Tutor ...
- RecyclerView 源码分析(二) —— 缓存机制
在前一篇文章 RecyclerView 源码分析(一) -- 绘制流程解析 介绍了 RecyclerView 的绘制流程,RecyclerView 通过将绘制流程从 View 中抽取出来,放到 Lay ...
随机推荐
- Notes: select选择框
HTML选择框通过select标签创建,该元素是HTMLSelectElement的实例,拥有以下属性和方法: selectedIndex:选中项的索引 options:选择框的所有选项 add:向选 ...
- 如何从源码中学习javascript
艾伦说啊,学习javascript,必须要学会看源码,通过高手的源码,你可以从中吸取很多书本上难以看到的技巧. 看源码就好像喝鸡汤,所有的营养都在这汤里了.这汤就是源码,高手写的源码,就是最好的鸡汤. ...
- Understanding delete
简述 我们都知道无法通过delete关键字针对变量和函数进行操作,而对于显示的对象属性声明却可以进行,这个原因需要深究到js的实现层上去,让我们跟随 Understanding delete 来探究一 ...
- Kooboo CMS - Html.FrontHtml.Position 详解
DataContract 数据契约 http://www.cnblogs.com/Gavinzhao/archive/2010/06/01/1748736.html https://msdn.micr ...
- DX9入门笔记1-D3D初始化
对3D编程期待已久,却一直叶公好龙浅尝辄止.近期在公司实习却无具体的工作安排,琢磨着学习个新的手艺,就又想起了3D Programming.这次从大名鼎鼎的龙书(Introduction to 3D ...
- learn shell
the basic shell skills. Bourne shell sh ksh Bash psh zsh C shell csh tcsh [root@bogon temp]# cat ...
- 记录visual Studio使用过程中的两个问题
Visual Studio是Windows平台下进行项目管理和开发的终极利器.除了微软自家的技术外,新版的VS不但支持Javascript, Python的开发调试,甚至还支持了Android, iO ...
- TeamCity : 安装 Agent
笔者在前文中介绍了 TeamCity Server 的安装过程,本文介绍在 Ubuntu Server 14.04 中安装 TeamCity Agent.Ubuntu Server 上已经创建了用户 ...
- AngularJS----基本操作
之前的学习基本了解了AngularJS的常用方法,下来就继续学习吧. 创建自定义的指令 除了内置指令,我们可以创建自定义指令.通过.directive函数来添加. <div change-dat ...
- ASP.NET Core开发-获取所有注入(DI)服务
获取ASP.NET Core中所有注入(DI)服务,在ASP.NET Core中加入了Dependency Injection依赖注入. 我们在Controller,或者在ASP.NET Core程序 ...