Как передавать данные в фрагмент при нажатии на карту в onBindViewHolder?

Вот мой код адаптера, и я хочу передать данные в «ParticularFragment». Примечание: ParticularFragment extends Fragment

public class TopicsAdapter extends RecyclerView.Adapter<TopicsAdapter.ViewHolder> { private Context context; private ArrayList<QuoteItems> itemList; public TopicsAdapter(Context context, ArrayList<QuoteItems> itemList) { this.context = context; this.itemList = itemList; } @Override public TopicsAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.adapter_topics_recycler_view_items, viewGroup, false); ViewHolder viewHolder = new ViewHolder(v); return viewHolder; } @Override public void onBindViewHolder(final TopicsAdapter.ViewHolder viewHolder, int i) { final QuoteItems quoteItems = itemList.get(i); viewHolder.txtQuote.setText(quoteItems.getQuote()); viewHolder.cardView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //how to pass data to "ParticularFragment" from here } }); } @Override public int getItemCount() { return itemList.size(); } class ViewHolder extends RecyclerView.ViewHolder { public TextView txtQuote; public CardView cardView; public ViewHolder(View itemView) { super(itemView); txtQuote = (TextView) itemView.findViewById(R.id.txtQuote); cardView = (CardView) itemView.findViewById(R.id.cardView); } } } 

Добавьте следующий код в свой onclick

 ReciverFragment fragment = new ReciverFragment(); Bundle args = new Bundle(); args.putString("Your_Key", "Your_Value"); fragment.setArguments(args); //Inflate the fragment context.getFragmentManager().beginTransaction().add(R.id.container, fragment).commit(); 

Примечание: изменение

 private Context context; 

в

 private Activity context; 

И в качестве параметра конструктора TopicAdapter передайте getActivity () из вашего фрагмента.

Intereting Posts