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.
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
Post a Comment