[英]RecyclerView OnclickListener in a fragment
I'm trying to set a click listener on a recyclyerView in a fragment i dont know how to call the activity in the fragment all i know is parsing the context in constructor , but clickListener havent dont this before , i tried but its not working at all我正在尝试在片段中的 recyclyerView 上设置点击侦听器我不知道如何调用片段中的活动,我只知道解析构造函数中的上下文,但是 clickListener 以前没有这样做过,我尝试过但它不起作用全部
public class RecView extends RecyclerView.Adapter<RecView .SuggestedViewHolder>
{
ArrayList<SuggestedModel> suggestedModels;
final private RecyclerViewClickListener clickListener;
public RecView(ArrayList<SuggestedModel> suggestedModels_items, RecyclerViewClickListener clickListener)
{
this.suggestedModels_items = suggestedModels_items;
this.clickListener = clickListener;
}
@Override
public void onBindViewHolder(@NonNull SuggestedViewHolder holder, int position)
{
SuggestedModel suggestedModel=suggestedModels.get(position);
holder.image.setImageResource(suggestedModel.getImage());
holder.title.setText(suggestedModel.getTitle());
}
@NonNull
@Override
public SuggestedViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType)
{
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.custom_recview_suggested_item,parent,false);
final SuggestedViewHolder suggestedViewHolder = new SuggestedViewHolder(view);
return suggestedViewHolder;
}
@Override
public int getItemCount()
{
return suggestedModels.size();
}
public class SuggestedViewHolder extends RecyclerView.ViewHolder
{
CircleImageView image;
TextView title;
public SuggestedViewHolder(@NonNull View itemView)
{
super(itemView);
image = itemView.findViewById(R.id.suggestedImage);
title = itemView.findViewById(R.id.suggestedTitle);
}
}
//////////
this is what i called in the fragment
private void getSuggestedData()
{
rec_TopMost.setHasFixedSize(true);
rec_TopMost.setLayoutManager(new LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL,false));
suggestedModels.add(new SuggestedModel(R.drawable.s1,"Movie1"));
suggestedModels.add(new SuggestedModel(R.drawable.s2,"Movie2"));
suggestedModels.add(new SuggestedModel(R.drawable.s3,"Movie3"));
suggestedModels.add(new SuggestedModel(R.drawable.s4,"Movie4"));
suggestedModels.add(new SuggestedModel(R.drawable.s5,"Movie5"));
suggestedModels.add(new SuggestedModel(R.drawable.s6,"Movie6"));
suggestedModels.add(new SuggestedModel(R.drawable.s7,"Movie7"));
suggestedModels.add(new SuggestedModel(R.drawable.s8,"Movie8"));
suggestedModels.add(new SuggestedModel(R.drawable.s9,"Movie9"));
RecView= new RecView( suggestedModel,(RecyclerViewClickListener) getContext());
rec_TopMost.setAdapter(RecView);
}
how am i supposed to do this i tried man things it doesnt work我该怎么做我试过男人的东西它不起作用
{
RecView= new RecView( suggestedModels, getContext());
rec_TopMost.setAdapter(RecView);
}
if i do this it shows red line.如果我这样做,它会显示红线。 under getContext();
在 getContext() 下;
这不是Activity
或Fragment
的问题,你的RecView
将RecyclerViewClickListener
作为第二个参数,让你的Fragment
像Activity
一样实现这个接口
Please refer this - https://codingwithmitch.com/blog/android-recyclerview-onclicklistener/请参考这个 - https://codingwithmitch.com/blog/android-recyclerview-onclicklistener/
It is explained how to do this.解释了如何执行此操作。
Hope it solves your question.希望它能解决你的问题。 Please inform whether it works or not.
请告知是否有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.