java - 在另一个 Fragment 中创建 ArFragment 对象

标签 java android kotlin augmented-reality arcore

我正在使用 ArCore 进行项目。

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

我有一个 Activity,MainActivity,我总共有 3 个在 ViewPager 中使用的 fragment 。

ArFragment 返回 null - 图片

enter image description here

当我尝试从第二个 Activity 创建 ArFragment 对象时,它起作用了。但是将 Arfragment 从第二个 Activity 传递到 Fragment 会导致糟糕的用户体验,所以我宁愿避免这种情况。

有什么方法可以在另一个 Fragment 中创建 ArFragment 吗?

最佳答案

我猜你应该在 onActivityCreated 中调用 getChildFragmentManager

这是我的代码,它运行正确。 (对不起,这是 Kotlin)

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

关于java - 在另一个 Fragment 中创建 ArFragment 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52517094/

相关文章:

java - 如何创建仅包含列标题、不添加行的 JTable

java - 如何从非 Activity 类关闭当前前台 Activity

android - 如何使用 twitter4j 获取所有 Twitter 关注者的列表?

java - 如何从 Firestore 中多个文档的数组中删除元素?

Java,正则表达式可以带变量吗?

Java + MySQL 或 LDAP 服务器状态

java - MySQL语法错误

android - 使用 DataBindingComponent 膨胀方法

arrays - Kotlin 中的数组声明大小是否可以仅通过初始化来实现?

java - 如何在Kotlin上创建AWS Lambda函数?