在另一个Fragment中创建ArFragment对象

问题描述 投票:2回答:2

我正在与ArCore合作开展一个项目。

我正在尝试在另一个Fragment中创建一个ArFragment对象的实例。它一直返回null。

我有一个Activity,MainActivity,我在ViewPager中总共有3个片段。

ArFragment返回null - 图片

enter image description here

当我试图从第二个活动创建一个ArFragment对象时,它的工作原理。但是将Arfragment从第二个活动传递到Fragment会导致用户体验不佳,所以我宁愿避免这种情况。

有没有办法在另一个片段中创建ArFragment?

java android android-viewpager augmented-reality arcore
2个回答
0
投票

我隐约记得你需要使用不同的函数来查找片段内的片段。这对我来说没有问题:

arFragment = getChildFragmentManager()。findFragmentById(R.id.ar_fragment);

希望这可以帮助 :)


0
投票

在Android中,Activity本身可以包含几个Fragments。当Activity运行时,您可以独立操作每个Fragment,例如添加或删除它们。

每个片段都可以被视为视图控制器。 Android允许您将子片段放入父片段中。

以下是如何在另一个内部创建一个ArFragment:

在Kotlin:

val arcoreFragment = MyARFragment()

childFragmentManager.beginTransaction().apply {
    add(R.id.ar_fragment, arcoreFragment)
    commit()
}

在Java中:

ArFragment arcoreFragment = new MyARFragment();

FragmentTransaction ta = getChildFragmentManager().beginTransaction();
ta.add(R.id.ar_fragment, arcoreFragment).commit();

© www.soinside.com 2019 - 2024. All rights reserved.