当前位置: 首页 > 知识库问答 >
问题:

片段中的RecycerView OnclickListener

萧凡
2023-03-14

我试图在片段中的RecyyerView上设置一个click listener我不知道如何调用片段中的活动我只知道在构造函数中解析上下文,但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);

    }

我怎么能做到这一点我试过男人的事情它不起作用

{

    RecView= new RecView( suggestedModels,  getContext());
            rec_TopMost.setAdapter(RecView);
}

如果我这样做,它会显示红线。在getContext()下;

共有1个答案

张晨朗
2023-03-14

活动片段不存在问题,您的recviewrecycerviewClickListener作为第二个参数,使您的片段活动一样实现此接口

 类似资料:
  • 我有一个,它创建一个,然后这个创建另一个: 这让我想到。是否真的可以删除并转到? 提前感谢您的时间,我在网上找不到任何合适的信息!

  • 问题内容: 我使用appcompact创建了一个空项目,并尝试将AdMob块添加到其中 fragment_main.xml MainActivity.java 在“ adView = new AdView(getActivity());”行中 错误“无法访问的代码” 问题答案: 你有 结尾的回报很好

  • 本文向大家介绍React.js中的片段,包括了React.js中的片段的使用技巧和注意事项,需要的朋友参考一下 大多数时候,我们需要从一个组件返回多个元素。React Fragment帮助返回多个元素。另一种选择是使用div之类的html元素包装它们。但是使用额外的html节点可能会导致一些语义问题。 React.Fragment的示例 如果不使用React Fragment,则了解问题- 假设我

  • 问题内容: 我阅读了很多有关片段的文章,但是我仍然对如何做感到困惑。 我有一个MainActivity,它并排显示两个片段。在一个片段中,我有一个按钮,并在该片段的片段布局XML中定义 现在我要实现该方法 我以为必须在FragmentA.java中实现,而不是在MainActivity.java中实现。但是,只有在MainActivity.java中实现了该方法后,该方法才有效。这是为什么?对我而

  • 问题内容: 我想拥有自己的内心 这是我的xml文件 我的档案 和我的Fragment类 启动应用程序时,我的片段中看不到任何地图视图 问题答案: 来自Josh Holtz在GitHub上的示例: 您应该添加在你喜欢 并实现你的喜欢

  • 我遇到了一个如何在对话框片段中更新片段的问题。 当我单击过滤器菜单按钮时,会显示一个新的对话框片段,其中包括一个无线电组。 我想在单击ok按钮时更新包含位置列表的片段。 它是PlaceActive的代码,其中包含PlaceFraank: 公共类PlaceActive扩展AppCompatActive{ } 以下是PlaceFragment类的代码: 公共类PlaceFragment扩展了片段{ }