MenuItemCompat.getActionView gibt immer null zurück

Ich nur implementiert, die v7 AppCompat - support-Bibliothek, aber die MenuItemCompat.getActionView immer wieder null in jeder Android-version, die ich getestet habe (4.2.2, 2.3.4 ....)

Den SearchView angezeigt wird in der action-bar, aber es reagiert nicht auf touch-Aktionen und-nicht zu erweitern, um zu zeigen, seine EditText und wird ebenso wie ein einfaches Symbol.

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);

    MenuItem searchItem = menu.findItem(R.id.action_search);
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
    if (searchView != null) {
        SearchViewCompat.setOnQueryTextListener(searchView, mOnQueryTextListener);
        searchView.setIconifiedByDefault(false);
        Log.d(TAG,"SearchView not null");
    } else
        Log.d(TAG, "SearchView is null");
    }
    return super.onCreateOptionsMenu(menu);
}

Menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">

    <item android:id="@+id/action_search"
          app:showAsAction="always|collapseActionView"
          android:icon="@drawable/abc_ic_search"
          android:title="@string/action_bar_search"
          android:actionViewClass="android.support.v7.widget.SearchView"/>

    <item android:id="@+id/action_refresh"
          android:icon="@drawable/refresh"
          android:title="@string/action_bar_refresh"
          app:showAsAction="ifRoom"/>
</menu>

InformationsquelleAutor der Frage Mohsen Afshin | 2013-08-26

Schreibe einen Kommentar