RecyclerView的简单实用和点击事件
2018-02-25 09:59
239 查看
RecyclerView本身和listview一样,但是RecyclerView没有Itme的点击事件,所以要自己去实现。
1.要使用RecyclerView首先要添加RecyclerView的相关依赖
dependencies { compile 'com.android.support:recyclerview-v7:21.0.0' }
别忘了更新一下 这样就可以在布局文件里使用了 这里就不演示了
2.在java代码里加载控件创建Adapter 实现3个方法,这里RecyclerView继承的是RecyclerView.Adapter和listView不一样
首先初始化一个变量
private OnItemClickListener mOnItemClickListener;
然后写一个接口里面实现两个方法一个点击,一个长按
public interface OnItemClickListener{
void onClick( int position);
void onLongClick( int position);
}然后写个个对外的set方法方便使用的时候调用
public void setOnItemClickListener(OnItemClickListener onItemClickListener ){
this. mOnItemClickListener=onItemClickListener;
}接着在onBindViewHolder方法里面判断一下不为空就实现点击事件@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
<
4000
strong>if[/b]( mOnItemClickListener!= null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mOnItemClickListener.onClick(position);
}
});
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
mOnItemClickListener.onLongClick(position);
return false;
}
});
}
ViewHolder 的编写规范化了
RecyclerView 没有提供Itme的点击事件需要自己使用
RecyclerView 需要多出一步 LayoutManager 的设置工作
1.要使用RecyclerView首先要添加RecyclerView的相关依赖
dependencies { compile 'com.android.support:recyclerview-v7:21.0.0' }
别忘了更新一下 这样就可以在布局文件里使用了 这里就不演示了
2.在java代码里加载控件创建Adapter 实现3个方法,这里RecyclerView继承的是RecyclerView.Adapter和listView不一样
public class WDFD_WWC_Adapter extends RecyclerView.Adapter<WDFD_WWC_Adapter.ViewHolder> { private Activity activity; public WDFD_WWC_Adapter(Activity activity) { this.activity = activity; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(activity).inflate(R.layout.wdfd_wwc_itme,parent,false); ViewHolder myViewHolder = new ViewHolder(view); return myViewHolder; } @Override public void onBindViewHolder(ViewHolder holder, final int position) { } @Override public int getItemCount() { return 8; } public static class ViewHolder extends RecyclerView.ViewHolder { public ViewHolder(View itemView) { super(itemView); } } }
4.在主页面去加载并且把Adapter加载给RecyclerView
mWwcRv = (RecyclerView) view.findViewById(R.id.wdfd_wwc_rv); wdfd_wwc_adapter = new WDFD_WWC_Adapter(mActivity); mWwcRv.setAdapter(wdfd_wwc_adapter);
这句是设置RecyclerView加载的样式的 ,这个是垂直的 mWwcRv.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL,false));5.因为RecyclerView 没有给我们提供Itme的点击事件所以我们要自己去写,在Adapter里面实现
首先初始化一个变量
private OnItemClickListener mOnItemClickListener;
然后写一个接口里面实现两个方法一个点击,一个长按
public interface OnItemClickListener{
void onClick( int position);
void onLongClick( int position);
}然后写个个对外的set方法方便使用的时候调用
public void setOnItemClickListener(OnItemClickListener onItemClickListener ){
this. mOnItemClickListener=onItemClickListener;
}接着在onBindViewHolder方法里面判断一下不为空就实现点击事件@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
<
4000
strong>if[/b]( mOnItemClickListener!= null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mOnItemClickListener.onClick(position);
}
});
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
mOnItemClickListener.onLongClick(position);
return false;
}
});
}
最后在主页里实现就行了
wdfd_wwc_adapter.setOnItemClickListener(new WDFD_WWC_Adapter.OnItemClickListener() {、
//这个是点击事件 @Override public void onClick(int position) { } //这个是长按事件 @Override public void onLongClick(int position) { } });
这样一个常用的RecyclerView 就完成了,RecyclerView 相比 ListView 在基础使用上的区别主要有如下几点:
ViewHolder 的编写规范化了
RecyclerView 没有提供Itme的点击事件需要自己使用
RecyclerView 需要多出一步 LayoutManager 的设置工作
相关文章推荐
- 简单利用RecyclerView实现ListView的点击事件
- Android中Recyclerview使用6----添加条目得到点击事件和长按事件(另一种写法,较简单)
- Android中RecyclerView简单的点击事件
- Android XRecyclerView最简单的item点击事件处理
- RecyclerView添加点击和长按事件的简单实现
- 安卓中RecyclerView的简单使用和自定义RecyclerView的接口点击监听事件
- RecyclerView下拉刷新,左滑删除和项目点击事件的监听
- RecyclerView万能适配器,点击事件,分割线,间距等写法
- RecyclerView 超简单item点击实现
- RecyclerView 的点击事件!
- Android RecyclerView使用(二) -给Item添加点击事件
- android_自定义recyclerView的点击事件
- Android使用RecyclerView实现自定义列表、点击事件以及下拉刷新
- android RecyclerView响应点击事件
- TV中RecyclerView添加item的点击事件和删除item之后获取焦点解决
- recyclerView自定义点击事件
- RecyclerView点击事件
- recyclerview简析,点击事件实现简析
- 为RecyclerView添加item的点击事件
- RecyclerView 添加头部和尾部,并实现Item的点击事件