2012-04-13 9 views
0

私は2つのフラグメント(リストと詳細フラグメント)を含むActionBar(実際にはActionBarSherlock)を使用しているアプリケーションを持っています。デバイスがポートレートモードで、ユーザーがリスティングビューから詳細ビューにクリックすると、詳細ビ​​ューにsetHomeButtonEnabledが設定されます。そのため、ユーザーはAppアイコンをクリックしてリスティングに戻ることができます(戻る矢印が表示されます)。自動的に)。Appアイコンback arrow landscapeとportraitで表示

デバイスがランドスケープモードで、両方のフラグメントが画面に表示されている場合、私はアプリアイコンの隣にバック矢印が表示されますが、これは意味をなさないものです。

コード内で何かをする必要があるかどうかわからないため、戻る矢印は横向きモードでは表示されません。

答えて

0

このコードを詳細の断片に追加することで、私が望む結果を得ることができました。おそらく理想的ではないが、それは動作します:

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    setHasOptionsMenu(true); 

    if (getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE) 
     this.getSherlockActivity().getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    setRetainInstance(true); 
} 

更新:これはおそらく、より良い解決策であるが見つかり

。 「詳細」フラグメントが表示されているかどうかを検出します。

final DetailsFragment fragment = (DetailsFragment)getFragmentManager().findFragmentById(R.id.fragmentDetails); 

if (fragment == null || fragment.isInLayout() == false) 
    this.getSherlockActivity().getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
関連する問題