Quelle est l’alternative à getActionView () avant API level11 dans Android?

getActionView() pour la barre d’action a été introduit dans l’ API 11 , si je veux une compatibilité descendante, quelle est l’alternative pour getActionView() ?

par exemple

 public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.action_bar_menu, menu); final MenuItem item = menu.findItem(R.id.menuitem); item.getActionView() //Works from API level 11 return true; } 

Pour la compatibilité ascendante, vous pouvez utiliser ActionBarCompat ou ActionBarScherlock . Dans les deux cas, vous pouvez utiliser la méthode getActionView(). Vous devez vous assurer que l’importation, dans le premier cas, provient de la bibliothèque de compatibilité ( android.support.v4.view.MenuItemCompat ). Si vous utilisez ActionBarSherlock vous devez import com.actionbarsherlock.view.MenuItem . Ensuite, vous devriez être ok en utilisant item.getActionView() .

Vieux

Depuis août 2013, et je prie les gens de voter. Vous devez être sûr que l’importation de la date de la question sur le PO, Android introduit dans le premier cas, provient de la bibliothèque de compatibilité (ActionBarCompactandroid.support.v4.view.MenuItemCompat). Bien que si vous utilisez ActionBarSherlock est toujours un choix valide, une option se déplace vers ActionBarCompact.

Donc, une autre option est de l’utiliser, et bien sûr, toutes les importations que vous devez provenir de la bibliothèque de support, par exemple android.supportimport com.v4actionbarsherlock.view.MenuItemCompatMenuItem. Ensuite, vous devriez être ok en utilisant item.getActionView ().

Vous pouvez utiliser MenuItemCompat.getActionView (MenuItem menuItem) de la bibliothèque de support pour obtenir la vue d’action sur l’API pre 11.

 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_activity_actions, menu); MenuItem searchItem = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); // Configure the search info and add any event listeners ... return super.onCreateOptionsMenu(menu); } 

Voir http://developer.android.com/guide/topics/ui/actionbar.html pour plus de détails.