У меня есть всплывающее окно Inflater, которое отображается при каждом касании строки ячейки. Этот ряд ячеек находится внутри адаптера.
Всплывающее окно содержит фрагмент карты. Я попытался передать ChildFragmentManger в адаптер, и он не смог найти контейнер фрагмента карты при запуске транзакции.
Не найдено представление для идентификатора 0x7f09009f (com.dm.myapp:id/frag_container)
для фрагмента MapFrag{ddcc1b2 #0 id=0x7f09009f}
Я полагаю, это потому, что контейнер фрагментов находится внутри всплывающего окна.
Представление всплывающего окна всплывающего окна адаптера:
val inflater:LayoutInflater =con.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
// Inflate a custom view using layout inflater
val view = inflater.inflate(R.layout.my_popup,null)
var trans = m_manager.beginTransaction() // m_manger is the childFragmentManger that is passed from the fragment to the activity.
var container = view.findViewById<FrameLayout>(R.id.frag_container).id // Add map fragment to parent container
var MapFrag = MapFrag()
trans.add (container , MapFrag)trans.commit()
Фрагмент, который создает адаптер:
listview.adapter = customAdapter(view.context, ListOfObjects, childFragmentManager)
ChildFragmentManger передан напрямую, чтобы попытаться выполнить транзакцию внутри адаптера.
У меня такой вопрос: откуда у меня фрагмент внутри инфлатера, то есть внутри адаптера, созданного фрагментом?