创建后,从活动中获取子片段

时间:2015-09-08 12:13:44

标签: java android android-fragments

我正在尝试从Activity中调用片段的方法,所以我使用这种东西:

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

我的问题是我得到一个例外:

java.lang.NullPointerException: Attempt to invoke virtual method 'void com.example.app.DummyFragment.method(java.lang.String, java.lang.String, java.util.List)' on a null object reference

我想我知道错误是什么:当我获取片段时,它还没有创建或可访问,所以有什么方法可以使它工作?例如片段准备好时的监听器?

感谢。

1 个答案:

答案 0 :(得分:2)

好像你错过了commit()交易

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

编辑:

findFragmentById

之前添加该行
getFragmentManager().executePendingTransactions()