Recyclerview如何實現(xiàn)item點擊事件

當你想在Activity中處理Aapter中的數(shù)據(jù)和點擊事件時,還得將Activity中的數(shù)據(jù)傳到Adapter中, 只要在Adapter中寫一個回調(diào)接口,這樣就能直接在Acitivity中處理了,不用來回傳接數(shù)據(jù)了.

1.在Adapter類中定義一個接口,例如就是這個 MyViewHolerClicks

 public interface MyViewHolerClicks {
        //item的回調(diào)方法
        void onItemClick(int position);
        //刪除按鈕的回調(diào)方法
        void deleteClick(int position);
    }

2..在Adapter類將MyViewHolerClicks 設置為set方法,安卓快捷鍵alt+insert直接選擇 setter

 public MyViewHolerClicks myViewHolerClicks;

    /**
     * 供外部Activity調(diào)用的
     *
     * @param myViewHolerClicks
     */
    public void setMyViewHolerClicks(MyViewHolerClicks myViewHolerClicks) {
        this.myViewHolerClicks = myViewHolerClicks;
    }

3..在Adapter類的onBindViewHolder方法中設置點擊事件

@Override
    public void onBindViewHolder(final ViewHolder holder, final int position) {
        //綁定view的方法
        if (myViewHolerClicks != null) {
            holder.imageView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    myViewHolerClicks.onItemClick(position);
                }
            });

            holder.deleteImg.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    myViewHolerClicks.deleteClick(position);
                }
            });
        }
    }

4.在你要使用的Activity界面初始化Adapter中的接口,實現(xiàn)接口中的方法

/**
     * Adapter中詳情點擊事件
     * 刪除按鈕的點擊事件
     */
    UploadProductionDisplayAdapter.MyViewHolerClicks myViewHolerClicks = new UploadProductionDisplayAdapter.MyViewHolerClicks() {
        /**
         * 每個item的點擊事件
         */
        @Override
        public void onItemClick(int position) {
           
        }
       /**
         * 每個item的中刪除按鈕的點擊事件
         */
        @Override
        public void deleteClick(int position) {
            //根據(jù)position刪除展示列表的數(shù)據(jù)
          
        }
    };

4.在你要使用的Activity界面

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

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,810評論 25 709
  • 【Android Activity】 什么是 Activity? 四大組件之一,通常一個用戶交互界面對應一個 ac...
    Rtia閱讀 3,927評論 3 18
  • 婷婷,你要學會超越別人 真的! 你如果愛自己 就請你超越自己
    佩婷閱讀 103評論 0 0
  • 從前有座山,山上有個大和尚,勤勞踏實,每天花半天時間至山泉口挑水;有一天來了個腦瓜靈光,點子多的二和尚,指導大和尚...
    回頭沒草吃閱讀 570評論 0 1
  • 在北京不覺生活了10多天,我居然發(fā)現(xiàn)~菜市場,是這個城市里最接地氣,最有人情味的地方。 若是在同一個菜...
    豌豆女人閱讀 738評論 1 1

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