Java 碎片交易可以';t使用ABS更换碎片
我有一个活动叫做家庭活动,Java 碎片交易可以';t使用ABS更换碎片,java,android,Java,Android,我有一个活动叫做家庭活动, { public class HomeActivity extends SherlockFragmentActivity } 但是下面的代码在这里 { private void selectItem(int position) { FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); // Locate Position
{
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搜索并实现了一些方法,但我的问题仍然没有解决
请给我一个提示。感谢使用ActionBarSherlock和Google支持库等兼容框架 很容易将导入与本机API混淆 以FragmentTransaction类为例 确保您没有导入本机版本
import android.app.FragmentTransaction;
相反,请确保从支持库导入版本
import android.support.v4.app.FragmentTransaction;
实际检查项目制作中使用的所有导入
确保您选择了正确的(support.v4.app) 那么错误和logcat是什么呢?我已经像你说的那样导入了,但仍然不起作用:(那么我的第二个猜测是,你的问题与布局有关。R.id.content\u frame是指框架布局吗?你是否也可以尝试将“replace”方法更改为“add”方法方法来查看是否发生了任何事情。我只是不知道为什么它仍然不起作用,我已经将“替换”更改为“添加”,并且我仍然无法替换我的片段视图-\u-您可以将此添加到selectItem方法的开头。ViewGroup ViewGroup=getActivity().findViewById(R.id.content\u frame);ViewGroup.setBackgroundColor(Color.RED);如果(true)返回;布局中碎片应该可见的位置现在应该为红色。