Как открыть новый фрагмент на Recyclerview Item Click? - PullRequest
0 голосов
/ 16 апреля 2020

Я использую вид рециркулятора во фрагменте. Теперь я хочу открыть новый фрагмент при щелчке мышью. Я использовал следующий код в моем адаптере представления переработчика. Пожалуйста, решите мою проблему.

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. Класс java .lang.Object.getClass () 'для пустой ссылки на объект в androidx.fragment.app.FragmentTransaction.doAddOp.

1 Ответ

0 голосов
/ 16 апреля 2020
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()
            }
        });
...