RecycleView點擊事件

基本使用請看上一篇RecyclerView的基本使用。

在為RecycleView設(shè)置點擊事件時,發(fā)現(xiàn)RecycleView沒有像ListView那樣有setOnItemClickListener的方法,需要自己來實現(xiàn)。

1.聲明接口

public interface ItemClickListener {
    void OnItemClick(View v, int position);
}

2.在adapter中聲明接口變量,并設(shè)置set方法

ItemClickListener mItemClickListener;

public void setOnItemClickListener(ItemClickListener itemClickListener) {
    mItemClickListener = itemClickListener;
}

在onBindViewHolder方法中將當(dāng)前是第幾個item設(shè)置到 itemView 的tag中
@Override
public void onBindViewHolder(ListHolder holder, int position) {
    holder.refreshDataUI(lists.get(position));
    holder.itemView.setTag(position);
}

3.在ViewHolder設(shè)置回調(diào)事件

將view的點擊事件

public class ListHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

    TextView textView;

    public ListHolder(View itemView) {
        super(itemView);
        textView = (TextView) itemView.findViewById(R.id.text);
        itemView.setOnClickListener(this);
    }

    public void refreshDataUI(String data) {
        textView.setText(data);
    }

    @Override
    public void onClick(View v) {
        if (mItemClickListener != null) {
            mItemClickListener.OnItemClick(v, (Integer) itemView.getTag());
        }

    }
}
GIF.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容