Behzad Ashrafian
Behzad Ashrafian

Reputation: 267

getActionView return null in appcompat 7 actionbar

I am using appcompat 7 instead of sherlockactionbar. Now i want to add update counter button in actionbar but return null getActionView in onCreateOptionsMenu function. My code is:

MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
View count = menu.findItem(R.id.update).getActionView();
TextView notifCount = (TextView) count.findViewById(R.id.textOne);
if(mNotifCount<=0) notifCount.setVisibility(View.GONE);
notifCount.setText(String.valueOf(mNotifCount));
return super.onCreateOptionsMenu(menu);

My menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".MainActivity">
<item android:id="@+id/action_example" android:title="@string/action_example"
    app:showAsAction="withText|ifRoom" />
<item android:id="@+id/action_settings" android:title="@string/action_settings"
    android:orderInCategory="100" app:showAsAction="never" />
<item
    android:title="update"
    android:id="@+id/update"
    android:actionLayout="@layout/feed_update_count"
    app:showAsAction="always|collapseActionView"
    android:orderInCategory="0" />

Upvotes: 0

Views: 945

Answers (2)

InternationalCodingGuru
InternationalCodingGuru

Reputation: 2258

Change android:actionLayout to app:actionLayout and use MenuItemCompat.getActionView(menuItem...);

Upvotes: 4

anon
anon

Reputation:

You'll likely need to use MenuItemCompat to load the actionview;

SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search));

Upvotes: 0

Related Questions