1

フラグメントのセット、つまりA、B、C、DフラグメントのアクティビティでsetDisplayHomeAsUpEnabledを使用しています。setDisplayHomeAsUpEnabledを押すと、フラグメントXに移動します。アクティビティのOnCreate()で次のように宣言したと思ったので、なぜこれが発生するのか本当にわかりません。

ActionBar bar = getActionBar();
bar.setDisplayHomeAsUpEnabled(true);

FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
FragA fragment = new FragA();
fragmentTransaction.add(R.id.frag_container, fragment);
fragmentTransaction.commit();

setDisplayHomeAsUpEnabledボタンを除いて他のすべては正常に機能します...常にフラグメントXに移動します(実際には設定ページ、フラグAに移動すると思いました!!)

誰か手がかりがありますか?本当にありがとう!!

4

1 に答える 1

2

の動作をオーバーライドできますsetDisplayHomeAsUpEnabled。次のようにして、動作をオーバーライドしたい画面にリダイレクトする場合:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
 switch (item.getItemId()) {
 case android.R.id.home:
    // do your stuff
    break;
 }
}
于 2013-03-26T07:06:07.903 に答える