FragmentTransaction无法替换使用ABS的片段

时间:2013-09-06 05:55:25

标签: java android

我有一项名为HomeActivity的活动,

{
public class HomeActivity extends SherlockFragmentActivity
}

但是下面的代码

{


    private void selectItem(int position) {

        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        // Locate Position
        switch (position) {
        case 0:
            ft.replace(R.id.content_frame, home);
            break;
        case 1:
            ft.replace(R.id.content_frame, gadget);
            break;
        case 2:
            ft.replace(R.id.content_frame, news);
            break;
        case 3:
            ft.replace(R.id.content_frame, techno);
            break;
        case 4:
            ft.replace(R.id.content_frame, game);
            break;
        case 5:
            ft.replace(R.id.content_frame, tips);
            break;
        case 6:
            ft.replace(R.id.content_frame, cgt);
            break;
        case 7:
            ft.replace(R.id.content_frame, info);
            break;
        }
        ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
        ft.commit();
        mDrawerList.setItemChecked(position, true);
        // Close drawer
        mDrawerLayout.closeDrawer(mDrawerList);

    }
}

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();

FragmentTransaction无法替换SherlockFragmentActivity中的片段。

我不知道这个,我搜索并实现了谷歌和stackoverflow的一些方法,但我的问题仍然没有 拜托,我需要一个暗示。谢谢

1 个答案:

答案 0 :(得分:0)

使用ActionBarSherlock和Google支持库等兼容性框架时 将导入与本机API混合起来很容易。

以FragmentTransaction类为例。

确保您没有导入原生版本。

import android.app.FragmentTransaction;

而是确保从支持库导入版本。

import android.support.v4.app.FragmentTransaction;

实际检查您在项目中使用的所有导入 确定你选的是正确的(support.v4.app)。