2016-12-26 8 views
1

私はカスタムバーを持っていません。私はアクションバーに削除アイコンを設定しましたが、今はOnClickListenerをこのアイコンに設定する必要があります。これを可能にする方法は私がカスタムバーなしで行うことができます。また、アイコンは左側に表示されません、私はそれを右側に置くことができますか?フラグメントのアクションバーにアイコンを追加して参照を取得

activity.getSupportActionBar().setIcon(R.drawable.ic_delete); 

私はナビゲーションバーを使用しています。カスタムバーを使用すると、トグルアイコンが消えます。

答えて

0

が見える行う方法の例です。私はそれが私の意見では悪いデザインの決定であるので、それをしないことをお勧めします。さらに、メニューを使って直感的にやりとりできるボタンを右側に表示することもできます。

基本的には、XMLのメニューリソースを追加し、このようにあなたの行動を宣言する必要がアクションバーのアクションにhere

を追加するための公式documentaionを見てください:

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/action_delete" 
     android:icon="@drawable/ic_delete" 
     android:title="@string/action_delete" 
     app:showAsAction="always"/> 

</menu> 

次に、あなたの活動に上書きOnOptionsItemSelectedメソッド:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.action_delete: 
      // Do your stuff here 
      return true; 

     default: 
      return super.onOptionsItemSelected(item); 

    } 
} 
+0

このアイコンは、フレグレット用です。 –

+0

私は私の答えを言い換えました、それははるかに明確になるはずです:) –

0
actionBar.setDisplayHomeAsUpEnabled(true); 

は、その後、あなたが活動のメソッドをオーバーライドする必要があります。

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case android.R.id.home: 
     onIconClicked(); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

が右側にアイテムを作成するには、実際に、それは簡単ですが、カスタムメニューを作成する必要があります。

Hereは、あなたがあなたの削除ボタンとしてアクションバーのホームボタンを設定するように、この

関連する問題