passing values from recycler adapter to fragment in android

后端 未结 4 2053
深忆病人
深忆病人 2020-12-19 17:14

I\'ve a recycler adapter where I\'ve added setOnClickListener for items in adapter. Code is as given below:

@Override
    public void onBindVi         


        
4条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-19 17:42

    make interface to handle click event into recyclerview .. used below code for handling click event.

    onItemClickListner onItemClickListner;
    
    public void setOnItemClickListner(RecyclerViewAdpater.onItemClickListner onItemClickListner) {
        this.onItemClickListner = onItemClickListner;
    }
    
    public interface onItemClickListner{
        void onClick(String str);//pass your object types.
    }
       @Override
    public void onBindViewHolder(ItemViewHolder holder, int position) {
        String data=mStringList.get(position); // if you pass object of class then create that class object.
        holder.textView.setText(data);
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                onItemClickListner.onClick(data);
            }
        });
     }
    

    then after when you bind adapter into RecyclerView call below code..

    mRvData.setLayoutManager(new LinearLayoutManager(this));
    mRvData.setAdapter(recyclerViewAdpater);
    recyclerViewAdpater.notifyDataSetChanged();
    recyclerViewAdpater.setOnItemClickListner(new RecyclerViewAdpater.onItemClickListner() {
        @Override
        public void onClick(String str) {
            Toast.makeText(getApplicationContext(), str, Toast.LENGTH_LONG).show();
        }
    });
    

提交回复
热议问题