国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 中RecycleView實現item的點擊事件

2019-12-12 03:24:39
字體:
來源:轉載
供稿:網友

Android 中RecycleView實現item的點擊事件

RecycleView現在已經越來越受到大家的重視,因為他既可以代替listView還可以代替GridView,但是RecycleView本身不不像ListView那樣具有setOnItemClickListener,這個關于子item的點擊,但是我們往往會用到RecycleView并且希望他的自孩子可以被點擊,那么如何實現他的item的點擊事件呢?

首先我們在RecyclerView.ViewHolder中的實現:

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不為空,就實現接口中的方法onItemClick其中getPosition()是得到被點擊位置的position     if(mListener != null){         mListener.onItemClick(v,getPosition());       }   }   //聲明MyItemClickListener這個接口    public interface MyItemClickListener {     public void onItemClick(View view,int postion);   } }

最后在RecyclerViewAdapter中實現:

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);   //通過構造函數將mItemClickListener    GridViewHolder holder = new GridViewHolder(view, mItemClickListener);    return holder;  }  /**   * 設置Item點擊監聽   *    * @param listener   */  public void setOnItemClickListener(MyItemClickListener listener) {    this.mItemClickListener = listener;  }    }

最后在activity中

//根據adapter來設置item的點擊事件    recyclerViewAdapter.setOnItemClickListener(new MyItemClickListener() {            @Override      public void onItemClick(View view, int postion) {              }    });

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 峨眉山市| 高阳县| 塔城市| 诸暨市| 邛崃市| 云阳县| 泰来县| 湟中县| 贵港市| 沾化县| 新竹县| 永康市| 凤阳县| 南雄市| 高邮市| 晋江市| 密山市| 聂拉木县| 太谷县| 图们市| 会理县| 思茅市| 屏南县| 深水埗区| 大厂| 东方市| 杭锦后旗| 太原市| 建始县| 凯里市| 乌苏市| 区。| 新田县| 武鸣县| 冷水江市| 正阳县| 泗洪县| 云浮市| 庄浪县| 塔城市| 赫章县|