【问题标题】:How to open new fragment on Recyclerview Item Click?如何在 Recyclerview Item Click 上打开新片段?
【发布时间】:2020-07-29 07:02:00
【问题描述】:

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

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】:
    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()
                }
            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多