我正在与ArCore合作进行一个项目。
我正在尝试在另一个Fragment中创建ArFragment对象的实例。它一直返回null。
我有一个Activity,MainActivity,并且在ViewPager中总共使用了3个片段。
ArFragment返回null-图像
当我尝试从第二个 Activity 创建ArFragment对象时,它起作用。但是将Arfragment从第二个 Activity 传递到Fragment会导致糟糕的用户体验,因此我宁愿避免这种情况。
有什么办法可以在另一个Fragment中创建ArFragment吗?
最佳答案
我猜你应该在getChildFragmentManager
中调用onActivityCreated
。
这是我的代码,它运行正确。 (对不起,这是科特林)
class MyFragment : Fragment() {
private lateinit var arFragment: ARFragment
override fun onCreateView(
inflater: LayoutInflater, @Nullable container: ViewGroup?, @Nullable savedInstanceState: Bundle?
): View? {
// fragment_sample contains ARFragment
return inflater.inflate(R.layout.fragment_sample, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
arFragment = childFragmentManager.findFragmentById(R.id.ar_fragment) as MyARFragment
...
}
...
completely code