如何在Recyclerview项目Click上打开新片段?

问题描述 投票:0回答:1

我正在片段中使用回收站视图。现在,我要在“回收者视图”项目单击上打开一个新片段。我在回收器视图适配器中使用了以下代码。请解决我的问题。

public void onBindViewHolder(@NonNull MyViewHolder holder, final int position) {
        holder.tv_name.setText(mData.get(position).getName());
        holder.img.setImageResource(mData.get(position).getPhoto());

        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AppCompatActivity activity = (AppCompatActivity) v.getContext();
                MiscellaneousFragment miscellaneousfragment = new MiscellaneousFragment();
                activity.getSupportFragmentManager().beginTransaction().replace(R.id.linerr, MiscellaneousFragment).addToBackStack(null).commit();

            }
        });

但是我在Logcat中遇到此错误。

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'java.lang.Class java.lang.Object.getClass()'在androidx.fragment.app.FragmentTransaction.doAddOp。

android-recyclerview fragment android-fragmentactivity onitemclicklistener
1个回答
0
投票
holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                 MiscellaneousFragment miscellaneousfragment = new MiscellaneousFragment();
                 FragmentManager  fragmentManager =currentfragment.getFragmentManager()
                 FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction()
                 fragmentTransaction.add(R.id.linerr, miscellaneousfragment)
                 fragmentTransaction.addToBackStack(null)
                 fragmentTransaction.commit()
            }
        });
© www.soinside.com 2019 - 2024. All rights reserved.