SearchView à l'aide de AppCompat
J'ai mis en place SearchView dans Actionbar avant d'utiliser appcompat.v7
mais quand je veux utiliser le SearchView avec le soutien de la bibliothèque v7 il montre nulle exception
Dans le style
<item android:id="@+id/action_search"
android:title="@string/action_search"
android:icon="@drawable/ic_action_search"
app:showAsAction="always|collapseActionView"
android:actionViewClass="android.support.v7.widget.SearchView" />
Dans La Classe Java:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setOnQueryTextListener(this);
return super.onCreateOptionsMenu(menu);
}
Ma question est comment déclarer SearchView dans onCreateOptionsMenu pour être en mesure de définir la requête auditeur?
Comme Espen Riskedal dit: "le changement android:actionViewClass app:actionViewClass" est trop important.
OriginalL'auteur A7madev | 2014-10-25
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser les méthodes statiques dans
MenuItemCompat
faire face avec tous les AppCompat éléments de menu. Cela a été mentionné dans ce blog comme le dernier élément de la rubrique 'd'Intégration'. Il suffit de remplacer votreSearchView
déclaration auprès de la suivante.Voici un lien vers le MenuItemCompat de la documentation.
Edit:
J'ai simplement supposé que vous utilisez la dernière version de AppCompat avec le soutien de la nouvelle
Toolbar
widget.Vous pouvez le faire avec le
setOnSearchClickListener
méthode sur laSearchView
. developer.android.com/reference/android/support/v7/widget/...OriginalL'auteur ebarrenechea
Si vous modifiez
android:actionViewClass
àapp:actionViewClass
votre code existant continuera à travailler.OriginalL'auteur Espen Riskedal