当我尝试在活动中通过声明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是进一步参考的链接。

希望这可以帮助 : )

10-08 07:03