解决 RecyclerView条目点击事件,分享自定义adapter
来源:互联网 发布:qt编程视频教程 编辑:程序博客网 时间:2024/06/05 02:56
废话不多说直接贴代码
package com.yl.ylnews.adapter;import android.app.Activity;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.TextView;import com.bumptech.glide.Glide;import com.yl.ylnews.R;import com.yl.ylnews.bean.TopNews;import java.util.List;import butterknife.BindView;import butterknife.ButterKnife;public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> implements View.OnClickListener { private List<T> dataBeanList; private Activity mActivity; public MyAdapter(List<T> dataBeanList, Activity mActivity) { this.dataBeanList = dataBeanList; this.mActivity = mActivity; } private OnRecyclerViewItemClickListener mOnItemClickListener = null; //定义接口 public static interface OnRecyclerViewItemClickListener { void onItemClick(View view, T data); } @Override public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_list_news, viewGroup, false); ViewHolder vh = new ViewHolder(view); //将创建的View注册点击事件 view.setOnClickListener(this); return vh; } @Override public void onBindViewHolder(ViewHolder viewHolder, int position) { // viewHolder.mTextView.setText(datas[position]); T dataBean = dataBeanList.get(position); String thumbnail_pic_s = dataBean.getThumbnail_pic_s(); Glide.with(mActivity).load(thumbnail_pic_s).into(viewHolder.ivIcon); viewHolder.tvAuthorName.setText(dataBean.getAuthor_name()); viewHolder.tvDate.setText(dataBean.getDate()); viewHolder.tvNewsTittle.setText(dataBean.getTitle()); //将数据保存在itemView的Tag中,以便点击时进行获取 viewHolder.itemView.setTag(dataBean); } @Override public void onClick(View v) { if (mOnItemClickListener != null) { //注意这里使用getTag方法获取数据 mOnItemClickListener.onItemClick(v, (T) v.getTag()); } } public void setOnItemClickListener(OnRecyclerViewItemClickListener listener) { this.mOnItemClickListener = listener; } //获取数据的数量 @Override public int getItemCount() { return dataBeanList.size(); } //自定义的ViewHolder,持有每个Item的的所有界面元素, //使用butterknife生成,不了解的可用自己手写viewholder static class ViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.iv_icon) ImageView ivIcon; @BindView(R.id.tv_author_name) TextView tvAuthorName; @BindView(R.id.tv_date) TextView tvDate; @BindView(R.id.tv_news_tittle) TextView tvNewsTittle; ViewHolder(View view) { super(view); ButterKnife.bind(this, view); } }}
0 0
- 解决 RecyclerView条目点击事件,分享自定义adapter
- recyclerview点击条目事件
- recyclerview条目点击事件
- RecyclerView.Adapter 点击事件
- Recyclerview的条目点击事件
- recyclerview adapter含点击事件
- recyclerView自定义点击事件
- RecyclerView自定义点击事件
- Recyclerview自定义点击事件
- recyclerView自定义点击事件
- recyclerview点击事件 webview 多条目
- RecyclerView 多条目 包括点击事件
- RecyclerView 条目点击事件 XRecyclerView刷新加载
- RecyclerView的基本使用(优化图片加载、设置条目间距、设置Adapter、设置点击事件等)
- recyclerview单击事件和多条目点击事件
- Recyclerview的自定义点击事件
- 自定义RecyclerView之点击事件
- AndroidStudio GradView在RecyclerView中设置条目(Item)点击事件
- 怎么修改标题才不影响SEO排名_修改网站标题的正确方法
- Android 沉浸式状态栏攻略 让你的状态栏变色吧
- EventBus的使用散记
- Python 进阶_OOP 面向对象编程_静态方法和类方法
- 市场发布时---app加固
- 解决 RecyclerView条目点击事件,分享自定义adapter
- Android Facebook SDK接入笔记
- 欢迎使用CSDN-markdown编辑器
- string的用法
- Android实现获取验证码的倒计时功能
- 在docker中搭建Tomcat服务器
- Android wifi无线调试App新玩法ADB WIFI
- 丑数
- display:none与visible:hidden的区别