2012-08-16 9 views
12

enter image description hereアンドロイドシャーロックアクションバー上のボタン

をクリックしたときに前のアクティビティへのuを取る小さな矢印があり、私は私のアプリで同じことをしたい、私は

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
を使用

私はonOptionsItemSelectedを使用する必要がありますか?

矢印が表示されていますが、クリックすると何も起こりません。

そして、私は私のメニューに2つのアイテムを持っているが、私が呼ぶところ、彼らはどこにでも現れるOnCreateOptionsMenu

これは私が私の最後の活動にのみ表示されるようにしたい私のアイテムコードで、どのように?

 <item 
android:id="@+id/bAbout" 
android:title="About" 
android:showAsAction="always"/> 
+3

「上」ボタンは、必ずしも前のアクティビティ(後ろボタンが排他的に行うものですが、しばしば前後が同じですが)に移動することは想定されていませんが、より高いレベルあなたのアプリの概念階層でそれはここで完全に説明されています:http://developer.android.com/design/patterns/navigation.html#up-vs-back –

答えて

24

はい、onOptionsItemSelected()を実装する必要があります。私はここでの問題が何であるかわからないんだけど

OnCreateOptionsMenu

呼び出すところ、そのボタンのIDが android.R.id.home

public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 

    case android.R.id.home: 
     // Do whatever you want, e.g. finish() 
     break; 

    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

であり、私は私のメニューに2つのアイテムを持って、彼らはどこにでも現れます。もちろん、onCreateOptionsMenu()を実装し、そのメニューリソースを必要な場所に展開する必要があります。これらのオプションを持たないと思われるすべてのアクティビティに対してonCreateOptionsMenu()を削除すると効果があります。

+0

感謝Alextsc =)、受け入れられる! –

関連する問題