Android 中RecycleView實(shí)現(xiàn)item的點(diǎn)擊事件
Android 中RecycleView實(shí)現(xiàn)item的點(diǎn)擊事件
RecycleView現(xiàn)在已經(jīng)越來(lái)越受到大家的重視,因?yàn)樗瓤梢源鎙istView還可以代替GridView,但是RecycleView本身不不像ListView那樣具有setOnItemClickListener,這個(gè)關(guān)于子item的點(diǎn)擊,但是我們往往會(huì)用到RecycleView并且希望他的自孩子可以被點(diǎn)擊,那么如何實(shí)現(xiàn)他的item的點(diǎn)擊事件呢?
首先我們?cè)赗ecyclerView.ViewHolder中的實(shí)現(xiàn):
public class GridViewHolder extends RecyclerView.ViewHolder implements OnClickListener{
//聲明MyItemClickListener
private MyItemClickListener mListener;
public GridViewHolder(View rootView,MyItemClickListener listener) {
super(rootView);
this.mListener = listener;
rootView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
//如果mListener不為空,就實(shí)現(xiàn)接口中的方法onItemClick其中g(shù)etPosition()是得到被點(diǎn)擊位置的position
if(mListener != null){
mListener.onItemClick(v,getPosition());
}
}
//聲明MyItemClickListener這個(gè)接口
public interface MyItemClickListener {
public void onItemClick(View view,int postion);
}
}
最后在RecyclerViewAdapter中實(shí)現(xiàn):
package com.ledon.activity.adapter;
import Java.util.ArrayList;
import java.util.List;
import com.ledon.activity.adapter.GridViewHolder.MyItemClickListener;
import com.ledon.ledongym.R;
import com.lidroid.xutils.BitmapUtils;
import Android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
public class RecyclerViewAdapter extends RecyclerView.Adapter<GridViewHolder> {
private final List<String> labels;
private LayoutInflater mLayoutInflater;
private Context context;
private MyItemClickListener mItemClickListener;
public RecyclerViewAdapter(int count, Context context) {
this.labels = new ArrayList<String>(count);
mLayoutInflater = LayoutInflater.from(context);
for (int i = 0; i < count; i++) {
labels.add(String.valueOf(i));
}
}
@Override
public int getItemCount() {
return labels.size();
}
@Override
public void onBindViewHolder(GridViewHolder viewHolder, int position) {
viewHolder.itemView.setTag(labels.get(position));
}
@Override
public GridViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = null;
view = mLayoutInflater.inflate(R.layout.item_userinfo, parent, false);
//通過(guò)構(gòu)造函數(shù)將mItemClickListener
GridViewHolder holder = new GridViewHolder(view, mItemClickListener);
return holder;
}
/**
* 設(shè)置Item點(diǎn)擊監(jiān)聽(tīng)
*
* @param listener
*/
public void setOnItemClickListener(MyItemClickListener listener) {
this.mItemClickListener = listener;
}
}
最后在activity中
//根據(jù)adapter來(lái)設(shè)置item的點(diǎn)擊事件
recyclerViewAdapter.setOnItemClickListener(new MyItemClickListener() {
@Override
public void onItemClick(View view, int postion) {
}
});
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- 在RecyclerView中實(shí)現(xiàn)button的跳轉(zhuǎn)功能
- Android recycleView的應(yīng)用和點(diǎn)擊事件實(shí)例詳解
- Recycleview實(shí)現(xiàn)無(wú)限自動(dòng)輪播
- Android實(shí)現(xiàn)Recycleview懸浮粘性頭部外加右側(cè)字母導(dǎo)航
- 去掉RecycleView或者ListView上下滑動(dòng)陰影的方法
- Android移動(dòng)開(kāi)發(fā)recycleView的頁(yè)面點(diǎn)擊跳轉(zhuǎn)設(shè)計(jì)實(shí)現(xiàn)
相關(guān)文章
Android編程實(shí)現(xiàn)在底端顯示選項(xiàng)卡的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)在底端顯示選項(xiàng)卡的方法,涉及Android界面線性布局、相對(duì)布局及選項(xiàng)卡設(shè)置相關(guān)操作技巧,需要的朋友可以參考下2017-02-02
Android 項(xiàng)目實(shí)戰(zhàn)之頭像選擇功能
這篇文章主要介紹了Android 項(xiàng)目實(shí)戰(zhàn)頭像選擇功能實(shí)戰(zhàn),需要的朋友可以參考下2018-01-01
Android通過(guò)AIDL在兩個(gè)APP之間Service通信
這篇文章主要為大家詳細(xì)介紹了Android通過(guò)AIDL在兩個(gè)APP之間Service通信,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
Android仿硅谷商城實(shí)現(xiàn)購(gòu)物車(chē)實(shí)例代碼
這篇文章主要介紹了Android購(gòu)物車(chē)編輯實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Android編程動(dòng)態(tài)加載布局實(shí)例詳解【附demo源碼】
這篇文章主要介紹了Android編程動(dòng)態(tài)加載布局,結(jié)合實(shí)例形式分析了Android動(dòng)態(tài)加載布局的原理、操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-10-10
Android GPS獲取當(dāng)前經(jīng)緯度坐標(biāo)
這篇文章主要為大家詳細(xì)介紹了Android GPS獲取當(dāng)前經(jīng)緯度坐標(biāo),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05
Unity3D游戲引擎實(shí)現(xiàn)在Android中打開(kāi)WebView的實(shí)例
這篇文章主要介紹了Unity3D游戲引擎在Android中打開(kāi)WebView的實(shí)例,需要的朋友可以參考下2014-07-07
android使用 ScrollerView 實(shí)現(xiàn) 可上下滾動(dòng)的分類欄實(shí)例
本篇文章主要介紹了android使用 ScrollerView 實(shí)現(xiàn) 可上下滾動(dòng)的分類欄實(shí)例,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01

