Android RecycleView(三)——增加点击事件
2016-02-03 17:01
344 查看
上一篇Android RecycleView(二) 给recycleview添加了分割线,这篇来给他添加点击事件。
其实在adapter中添加一个回掉即可。
就这么简单,设置长按监听和这个原理一样
效果:
其实在adapter中添加一个回掉即可。
package com.chs.myrecycleview.adapter; 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.LinearLayout; import android.widget.TextView; import com.chs.myrecycleview.R; import java.util.List; /** * 作者:chs on 2016/2/2 14:43 * 邮箱:657083984@qq.com */ public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> { private Context mContext; private List<String> mData; private OnItemClickListener onItemClickListener; public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; } public interface OnItemClickListener{ void onItemClick(View view, int position); } public MyAdapter(Context mContext,List<String> list) { this.mContext = mContext; this.mData = list; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(mContext).inflate(R.layout.item,parent,false); MyViewHolder holder = new MyViewHolder(view); return holder; } @Override public void onBindViewHolder(final MyViewHolder holder, final int position) { holder.tv_text.setText(mData.get(position)); if(onItemClickListener!=null){ holder.ll_main.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onItemClickListener.onItemClick(holder.itemView,position); } }); } } @Override public int getItemCount() { return mData.size(); } class MyViewHolder extends RecyclerView.ViewHolder{ TextView tv_text; LinearLayout ll_main; public MyViewHolder(View itemView) { super(itemView); tv_text = (TextView) itemView.findViewById(R.id.tv_text); ll_main = (LinearLayout) itemView.findViewById(R.id.ll_main); } } }MainActivity中:
myAdapter.setOnItemClickListener(new MyAdapter.OnItemClickListener() { @Override public void onItemClick(View view, int position) { Toast.makeText(MainActivity.this,"点击了"+position,Toast.LENGTH_SHORT).show(); } });
就这么简单,设置长按监听和这个原理一样
效果:
相关文章推荐
- android实现只切换本应用的语言(不切换android 系统语言)
- Android Studio 使用小技巧 持续更新
- 安卓开发——AndroidStudio生成getter,setter,tostring,constructor等函数的方式
- Android 监听返回键、HOME键
- 关于Ubuntu12.04编译环境搭建问题
- Android adb 使用
- android studio 2.0下 jni开发环境的搭建
- Android关于Fragment长期置于后台返回重叠的问题
- android开发属性精解
- Android Studio之导出JavaDoc出现编码GBK的不可映射字符
- Android 沉浸式状态栏 一体化状态栏实现
- Android Jni开发之交互处理
- Android AIDL IPC实现进程间通信
- 智能电视局域网手机遥控实现
- 阅读《Android 从入门到精通》(23)——列表视图
- 浅析 Android 的窗口
- Android 完全退出当前应用程序的四种方法
- Android IntentService 解析
- Moto360,Android Wear 手表端的应用的卸载
- Android Fragment 真正的完全解析(上)