我的FragmentA包含一个ListView。我的FragmentB包含每个项目的详细信息。如何从FragmentA的onItemClickListener()开始事务。

Fragment newFragment = EntryFragment.newInstance();
    FragmentTransaction transaction = ((FragmentActivity)context).getSupportFragmentManager().beginTransaction();

transaction
        .replace(containerId, newFragment)
        .addToBackStack(null)
        .commit();


创建FragmentA时,我将R.id.container传递给containerId。调用事务时,它将引发错误“找不到ID为0x0somehexnumber的视图”

最佳答案

您不需要传递容器ID。

只需使用R.id.your_containerlayout

replace(...)参数。此外,只需调用此行即可:

FragmentTransaction transaction = getFragmentManager().beginTransaction();


如果您位于support-Fragment中,这将为您提供SupportFragmentManager。

关于android - 如何在 fragment 内启动FragmentTransaction,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18962514/

10-12 02:02