在另一个片段中运行函数

时间:2014-08-16 16:30:36

标签: android android-fragments

我想从main活动运行一个函数,但函数是另一个片段。这是我的代码

FragmentManager fm = getSupportFragmentManager();
ConversationFragment fragment = (ConversationFragment)fm.findFragmentById(R.id.container);
fragment.addMessageToList("ok");

我将此代码放在onCreate的{​​{1}}中,这是片段中的MainActivity函数:

addMessageToList

但是我的应用程序崩溃了。这里是logcat:

enter image description here

我该如何解决?

1 个答案:

答案 0 :(得分:0)

findFragmentById()版面上没有包含该ID的片段时,您使用的是Activity。替换容器中的片段时,请为其添加标记。像这样:

fragmentTransaction.replace(R.id.container, frgObj,"ConversationFragment");

然后,使用findFragmentByTag("ConversationFragment")获取Fragment并使用它执行方法。