我有一个名为Fragment
的{{1}},我创建了这个MyFrag
,frag1和frag2的两个实例。在frag1中我注册了一个点击监听器,在这个点击监听器的回调中,我想执行一个Fragment
并用frag2替换frag1。
我设法替换FragmentTransaction
中的Fragments
,但Activity
没有Fragments
方法。这是我正在使用的代码:
getSupportFragmentManager()
答案 0 :(得分:0)
您只需拨打getFragmentManager()
中的Fragment
。
FragmentManager
getFragmentManager()
用于替换/ Fragments
替换Activity
。{
您从FragmentManager
获得的getChildFragmentManager()
用于替换/添加Fragments
在其他Fragments
内。
所以看来你只需要使用getFragmentManager()
。
答案 1 :(得分:0)
使用getFragmentManager()
中的Fragment
代替getSupportFragmentManager()
。 getSupportFragmentManager()
仅用于FragmentActivity
。试试这个:
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.fragment_container, new Flashcard_Fragment(false,3));
transaction.commit();
另外请确保Flashcard_Fragment
也有空构造函数!操作系统要求Fragments
拥有一个空的公共构造函数。