android - OnOptionsItemSelected not being called for Action Bar Menu Item with custom actionLayout -


i'm trying implement notification icon in actionbar show count of notifications.

enter image description here

i've added custom layout file notificationicon.xml:

  <!-- menu item image -->   <imagebutton       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:padding="2dp"       android:clickable="true"       android:src="@drawable/notification" />    <!-- badge count -->   <textview       android:id="@+id/actionbar_notifcation_textview"       android:layout_width="wrap_content"       android:layout_height="20dp"       android:minwidth="20dp"       android:layout_alignparentright="true"       android:gravity="center_horizontal"       android:background="@drawable/circle_green"       android:fontfamily="sans-serif-black"       android:textstyle="bold"       android:text="0"       android:textcolor="#ffffff" /> </relativelayout> 

and used in menu main_activity_actions.xml:

<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android">   <item         android:id="@+id/action_add"         android:title="@string/addtag"         android:icon="@+drawable/ic_action_new"         android:showasaction="always" />   <item         android:id="@+id/notification_icon"         android:title="@string/pendingjobs"         android:actionlayout="@layout/notificationicon"         android:icon="@+drawable/notification"         android:showasaction="always" />   <item         android:id="@+id/gps_status_icon"         android:title="@string/gps"         android:icon="@+drawable/gps_grey"         android:showasaction="always" /> </menu> 

the ui looks fine onoptionsitemselected not being called notification icon. works fine other two. did google , ound link: onoptionsitemselected not getting called when using custom action view

i tried implement in main activity:

public override bool oncreateoptionsmenu(imenu menu)         {             actionbarmenu = menu;             menuinflater.inflate(resource.menu.main_activity_actions, menu);              var notificationmenuitem = menu.finditem(resource.id.notification_icon);             notificationmenuitem.actionview.click += (sender, args) => {                 this.onoptionsitemselected(notificationmenuitem);             };              return base.oncreateoptionsmenu(menu);         } 

but not works me. never fires click event. please help.

@override     public boolean oncreateoptionsmenu(menu menu) {         menuinflater inflater = getsupportmenuinflater();                  inflater.inflate(r.menu.main_activity_actions, menu);          final view notification_icon= menu.finditem(r.id.notification_icon).getactionview();           notification_icon.setonclicklistener(new view.onclicklistener() {              @override             public void onclick(view v) { // write ur code here }          });         return super.oncreateoptionsmenu(menu);     } 

use code......hope helps :)


Comments