我想从main活动运行一个函数,但函数是另一个片段。这是我的代码
FragmentManager fm = getSupportFragmentManager();
ConversationFragment fragment = (ConversationFragment)fm.findFragmentById(R.id.container);
fragment.addMessageToList("ok");
我将此代码放在onCreate
的{{1}}中,这是片段中的MainActivity
函数:
addMessageToList
但是我的应用程序崩溃了。这里是logcat:
我该如何解决?
答案 0 :(得分:0)
在findFragmentById()
版面上没有包含该ID的片段时,您使用的是Activity
。替换容器中的片段时,请为其添加标记。像这样:
fragmentTransaction.replace(R.id.container, frgObj,"ConversationFragment");
然后,使用findFragmentByTag("ConversationFragment")
获取Fragment并使用它执行方法。