I have a recyler view with multiple cards in it. What i want to achieve is creating a dialog window every time the recycler view card is pressed. Inside the dialog, however, I have a FrameLayout - my goal is to add a custom fragment inside it. Is it possible?
What I currently have in my adapter.kt:
class GroupEntry_RecyclerViewAdapter(val context: Context, val ListOfPeople: MutableList<Person>) : RecyclerView.Adapter<GroupEntry_RecyclerViewAdapter.MyViewHolder>() {
override fun onBindViewHolder(
holder: MyViewHolder,
position: Int
) {
...
holder.nameField.setOnClickListener {
val dialog = DialogFragment(R.layout.pop_up_layout)
val ft = (context as FragmentActivity).supportFragmentManager.beginTransaction()
ft.replace(R.id.popUpFrame, HomeFragment())
dialog.show(ft, "dialog")
}
My pop_up_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/popupLayout">
<TextView
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/pop_up_window"
android:textSize="30sp"
android:text="——"
android:textAlignment="center"
android:textColor="@color/tag_coral"/>
<FrameLayout
android:id="@+id/popUpFrame"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/top_bar"
/>
</RelativeLayout>
The error i get is:
java.lang.IllegalArgumentException: No view found for id 0x7f09017a (id/popUpFrame) for fragment HomeFragment{ca1478} (2737d40d-0431-42e8-a25e-11d17e1d11b1 id=0x7f09017a)
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:958)
at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294) at android.app.ActivityThread.main(ActivityThread.java:8177)
at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
Does anyone know what i might be doing wrong?