recyclerview使用GridLayoutManager後實現點擊事件

今天get一個小小的技能,

對於其他人來說應該是常用的技能,但是我可是今天才會的啊。還是借鑑別人 後看會的。

首先創建一個接口

    private OnItemOnclick onItemOnclick;
       接口必須是public
    public interface OnItemOnclick {
        void setOnclickItem(View view, int position);
    }

    public void OnItemOnclick(OnItemOnclick onItemOnclick) {
        this.onItemOnclick = onItemOnclick;
    }

在onBindViewHolder方法中隊item進行點擊事件

 final ImageBean image = data.get(position);
            ((ItemAdapter) holder).imageView.setImageResource(image.img);
            ((ItemAdapter) holder).textView.setText(image.name);
            holder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    switch (image.name){
                        case "dada":
                            Toast.makeText(context,"dadada",Toast.LENGTH_SHORT).show();
                            break;
                        case "dada1":
                            Toast.makeText(context,"dadada1",Toast.LENGTH_SHORT).show();
                            break;
                    }
                }
            });

另一種方法給item創建點擊事件的 在activity中進行點擊事件的響應 如下

  holder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
//                   if (mOnItemClick!=null){
//                       mOnItemClick.setItemOnclick(v,position);
//                   }

在activity中就是 利用的是postion位置的不同 對item進行點擊事件的

 adapter.setOnItemClick(new RecyclerAdapter.OnItemClick() {
            @Override
            public void setItemOnclick(View view, int postion) {
                switch (postion){
                    case 0:
                        Toast.makeText(SecondActivty.this, "對不起,電話不能爲空", Toast.LENGTH_SHORT).show();
                        break;
                }
            }
        });


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章