当我尝试在活动中通过声明FragmentTransaction ft = getFragmentManager()。beginTransaction()替换Fragment时,我始终会出现以下错误警报:
import android.support.v4.app.FragmentTransaction;
public class MainFrameActivity extends ActivitySupport {
FragmentTransaction ft = getFragmentManager().beginTransaction();
switch (position) {
case 0:
ft.replace(R.id.content_frame, fragmentDiscover);
break;
case 1:
ft.replace(R.id.content_frame, fragmentPersonInfo);
break;
}
ft.commit();
mDrawerList.setItemChecked(position, true);
mDrawerLayout.closeDrawer(mDrawerList);
}
并且该类是ActivitySupport,它继承自:
public class ActivitySupport extends Activity implements IActivitySupport {
我试图将getFragmentManager更改为getSupportFragmentManager(),但要使该方法未定义的警报变得更加糟糕。
那么,如何使getFragmentManager()成为v4支持的方法呢?
最佳答案
首先扩展FragmentActivity
并确保您正在使用支持库中的那个。
尝试使用getSupportFragmentManager().beginTransaction()
代替getFragmentManager().beginTransaction()
。
问题是您已经从v4支持库导入了FragmentTransaction,而没有使用v4支持库中的片段管理器。
Here是进一步参考的链接。
希望这可以帮助 : )