java - 创建子 Fragment 后从 Activity 获取子 Fragment

标签 java android android-fragments

我试图从 Activity 调用 fragment 的方法,所以我使用这种东西:

getFragmentManager().beginTransaction().replace(R.id.fragmentContainer, new DummyFragment()).commit();
((DummyFragment) getFragmentManager().findFragmentById(R.id.fragmentContainer)).method(arg1, arg2, ...);

我的问题是我遇到了异常:

java.lang.NullPointerException:尝试在 a 上调​​用虚拟方法“void com.example.app.DummyFragment.method(java.lang.String, java.lang.String, java.util.List)”空对象引用

我想我知道出了什么错误:当我获取 fragment 时,它尚未创建或可访问,那么有什么方法可以使其工作吗?例如, fragment 准备好时的监听器?

谢谢。

最佳答案

似乎您错过了commit()交易

getFragmentManager().beginTransaction()
     .replace(R.id.fragmentContainer, new DummyFragment()).commit();

编辑:

findFragmentById之前添加该行

getFragmentManager().executePendingTransactions()

关于java - 创建子 Fragment 后从 Activity 获取子 Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32457563/

相关文章:

c++ - 我可以用 C++、C 进行 Android 编程吗?

java - Android:加载照片时出错

java - 如何在android中使用SmsManager将图像文件附加到短信?

java - 如何处理 DirectVmConsumerNotAvailableException

android - XML解析错误(Android Studio)在哪里?

java - 使用 XPath Java 设置节点值

Android Material 设计过渡

java - 无法在 TabLayout 中的选项卡之间滑动

java - 子模块的故障安全注入(inject)器。 google guice 中的可选绑定(bind)

java - 具有嵌套属性的 JPA MapKey