При попытке перехода из фрагмента в фрагмент вылазит ошибка (все это в адаптере recycler view)
Возникла такая проблема: у меня есть адаптер для recycler view:
class AdapterForClassesList(private val data: MutableList<String>,
private val fragmentManager: FragmentManager): RecyclerView.Adapter<AdapterForClassesList.MyViewHolder>(){
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
val itemView = LayoutInflater.from(parent.context)
.inflate(R.layout.example_for_classes_list, parent, false)
//возвращаем этот элемент
return MyViewHolder(itemView)
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
Snackbar.LENGTH_SHORT).show() }
holder.text_class.text = data[position]
holder.itemView.setOnClickListener {
fragmentManager.beginTransaction().replace(R.id.fragment_class_information, class_information()).commit()
}
}
override fun getItemCount(): Int {
return data.size
}
class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
var text_class: TextView = itemView.findViewById(R.id.classes_number_text)
}
}
Но при запуске ругается на R.id.fragment_class_information:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.teacherportal, PID: 8561
java.lang.IllegalArgumentException: No view found for id 0x7f0900da (com.example.teacherportal:id/fragment_class_information) for fragment class_information{4f369a3} (88c5eb20-9e5d-434a-b29e-5606bf6aa910 id=0x7f0900da)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:513)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Мне нужно понять что нужно изменить чтобы переход совершался корректно. Спасибо за помощь, если нужно, пишите дополню чем нужно.
Изменено: Вот разметка того самого fragment_class_information (это тот самый контейнер в который должен загрузиться фрагмент)
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
android:id="@+id/fragment_class_information"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="fragment_class_information"
tools:context=".fragments.class_information">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_class"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="22dp"
android:fontFamily="@font/montserrat_bold"
android:text="7A"
android:textColor="@color/black"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="75dp"
android:layout_marginTop="22dp"
android:fontFamily="@font/montserrat"
android:textColor="@color/black"
android:textSize="20sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_class" />
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>