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)聽 * * @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)開發(fā)recycleView的頁(yè)面點(diǎn)擊跳轉(zhuǎn)設(shè)計(jì)實(shí)現(xiàn)
相關(guān)文章
Android App中制作仿MIUI的Tab切換效果的實(shí)例分享
這篇文章主要介紹了Android App中制作仿MIUI的Tab切換效果的實(shí)例分享,實(shí)現(xiàn)具有跟隨手指滾動(dòng)而滾動(dòng)功能的ViewPagerIndicator,需要的朋友可以參考下2016-04-04Android中ContentProvider和ContentResolver詳解
這篇文章主要介紹了Android中ContentProvider和ContentResolver詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04android實(shí)現(xiàn)Uri獲取真實(shí)路徑轉(zhuǎn)換成File的方法
這篇文章主要介紹了android實(shí)現(xiàn)Uri獲取真實(shí)路徑轉(zhuǎn)換成File的方法,涉及Android操作路徑的相關(guān)技巧,需要的朋友可以參考下2015-05-05Android 邊播邊緩存的實(shí)現(xiàn)(MP4 未加密m3u8)
這篇文章主要介紹了Android 邊播邊緩存的實(shí)現(xiàn)(MP4 未加密m3u8),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Android Studio綁定下拉框數(shù)據(jù)詳解
這篇文章主要為大家詳細(xì)介紹了Android Studio綁定下拉框數(shù)據(jù),Android Studio綁定網(wǎng)絡(luò)JSON數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10Android仿今日頭條APP實(shí)現(xiàn)下拉導(dǎo)航選擇菜單效果
這篇文章主要為大家詳細(xì)介紹了Android仿今日頭條APP實(shí)現(xiàn)下拉導(dǎo)航選擇菜單效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06Android sharedPreferences實(shí)現(xiàn)記住密碼功能
這篇文章主要為大家詳細(xì)介紹了Android sharedPreferences實(shí)現(xiàn)記住密碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04Android Studio3.2中導(dǎo)出jar包的過(guò)程詳解
這篇文章主要介紹了Android Studio3.2中導(dǎo)出jar包的過(guò)程,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06android 仿微信demo——微信消息界面實(shí)現(xiàn)(移動(dòng)端)
本系列文章主要介紹了微信小程序-閱讀小程序?qū)嵗╠emo),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望能給你們提供幫助2021-06-06