我有一个Inflater弹出窗口,每次点击单元格行时都会显示。该单元格行在适配器内部。
弹出窗口包含一个地图片段。我尝试将ChildFragmentManger传递到适配器,并且在开始事务时无法找到映射片段容器。
找不到片段0x7f09009f (com.dm.myapp:id/frag_container)
的ID 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直接传递以尝试在适配器内执行事务。
我的问题是: 我如何在充气机内有一个片段,该片段位于由片段创建的适配器内?