リスト ナビゲーション モードで Android アクション バーを実装しようとしています。リストからアイテムが選択されるとフラグメントが正常に変更されますが、フラグメントが重なり、2 番目のアイテムが画面に表示されたままの状態で前のコンテンツが表示されます。選択されました。アクティビティの OnCreate と OnNavigationItemSelected のコードは次のとおりです。
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
mFirstFragment = new FirstFragment();
mSecondFragment = new SecondFragment();
SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(
this,
R.array.action_list,
android.R.layout.simple_spinner_dropdown_item);
mActionBar = getActionBar();
mActionBar.setDisplayShowTitleEnabled(false);
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
mActionBar.setListNavigationCallbacks(mSpinnerAdapter, this);
if(savedInstanceState != null) {
mActionBar.setSelectedNavigationItem(
savedInstanceState.getInt("currFragment"));
}
}
public boolean onNavigationItemSelected(int position, long itemId) {
FragmentTransaction mFragmentTransaction =
getFragmentManager().beginTransaction();
switch(position) {
case FIRST_FRAGMENT:
mFragmentTransaction.replace(
android.R.id.content,
mFirstFragment);
break;
case SECOND_FRAGMENT:
mFragmentTransaction.replace(
android.R.id.content,
mSecondFragment);
break;
}
mFragmentTransaction.commit();
return true;
}
前もって感謝します!