Android FragmentTransaction未显示替换的片段
在用另一个片段类的新实例替换主视图中的MyFragment容器之后,似乎什么都没有发生Android FragmentTransaction未显示替换的片段,android,android-fragments,fragmenttransaction,Android,Android Fragments,Fragmenttransaction,在用另一个片段类的新实例替换主视图中的MyFragment容器之后,似乎什么都没有发生 case 2: Log.d("Menu", "Sent clicked"); try { android.support.v4.app.Fragment fragment = new SentFragment(); FragmentTransaction fm = getSupportFragmentManager().begi
case 2:
Log.d("Menu", "Sent clicked");
try {
android.support.v4.app.Fragment fragment = new SentFragment();
FragmentTransaction fm = getSupportFragmentManager().beginTransaction();
fm.replace(R.id.frameLayout, fragment);
fm.commit();
getSupportFragmentManager().executePendingTransactions();
}catch(Exception e){
e.printStackTrace();
}
break;
我的Logcat是这样的
06-19 09:12:29.487 19458-19458/com.pacentltd.mail D/Menu﹕ Sent clicked
06-19 09:12:29.487 19458-19458/com.pacentltd.mail D/Frag﹕ Attached
在片段上调用onAttach后,它会自己检查下面的修改
case 2:
Log.d("Menu", "Sent clicked");
try {
SentFragment fragment = new SentFragment(); // updated line
FragmentTransaction fm = getSupportFragmentManager().beginTransaction();
fm.replace(R.id.frameLayout, fragment);
fm.commit();
getSupportFragmentManager().executePendingTransactions();
}catch(Exception e){
e.printStackTrace();
}
break;
创建SentFragment实例,而不是android.support.v4.app.Fragment实例。还要确保你的SentFragment类扩展了android.support.v4.app.Fragment你能发布你的代码吗如果你注意到logcat代码,片段本身就被附加了,所以问题不是frag管理器在调用这个fm.addToBackStack(null)之后没有执行;和fm.show(fragment)片段已附加,但未放在前面