Фрагмент карты внутри Inflater, который находится внутри адаптера, который находится внутри фрагмента - PullRequest
0 голосов
/ 06 октября 2019

У меня есть всплывающее окно 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 передан напрямую, чтобы попытаться выполнить транзакцию внутри адаптера.

У меня такой вопрос: откуда у меня фрагмент внутри инфлатера, то есть внутри адаптера, созданного фрагментом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...