我知道这个问题已经讨论了很多次,但是没有解决方案适合我。我有一个连接有activityfragment,并且使用interface我正在从我的activity调用一种方法,该方法将这个fragment替换为另一个。我还希望该方法从我的新“片段”中调用一个方法,但是我实现了达到这一点时应用程序崩溃。有人知道解决方案吗?我是Android开发的新手。

public void replacingMethod(String text){

    NewFragment newFragment = new NewFragment();
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.replace(R.id.fragment_container, newFragment).addToBackStack(null).commit();

    NewFragment f = (NewFragment) getSupportFragmentManager().findFragmentById(R.id.new_fragment);
    f.displayText(text);
}


我尝试在替换前后从displayText()调用newFragment,但是它不起作用。

最佳答案

您的片段应附加到活动中以显示文本。正确的方法是使用Fragment#setArguments(Bundle)将要显示的文本传递给片段,然后使用Fragment#getArguments()将其显示在片段内。

09-13 12:07