Skip to content Skip to sidebar Skip to footer

Menuitemcompat.getactionview Returns Null

I am trying to implement a custom layout for my menu item and went through many solutions by I am getting Null pointer Exception whenever i try to fetch TextView inside the layout

Solution 1:

Try this

item.setActionView(R.layout.counter_action_bar_notification_icon);

        finalViewmenu_hotlist= MenuItemCompat.getActionView(item);
        TextViewui_hot=(TextView) menu_hotlist.findViewById(R.id.hotlist_hot);
        ui_hot.setText(Integer.toString(13));

Solution 2:

Use

app:actionLayout

instead of

android:actionLayout 

in your layout file and dont forget to define app

xmlns:app="http://schemas.android.com/apk/res-auto"

Solution 3:

It is because getActionView() return the view injected in app:actionViewClass item attribute.

For example

<item android:id="@+id/action_search"
          android:title="@string/option_search"
          android:icon="@drawable/ic_action_search"
          app:showAsAction="collapseActionView|ifRoom"
          app:actionViewClass="YourCustomView"/>

Here getActionView() will return a YourCustomView reference. You have to inject your view object with app:actionViewClass instead of android:actionLayout. Then you have to create your Java class YourCustomView extends RelativeLayout which inflate R.layout.counter_action_bar_notification_icon

Post a Comment for "Menuitemcompat.getactionview Returns Null"