39 votes

Différence entre "onMenuItemSelected" et "onOptionsItemSelected"

quelqu'un peut-il m'expliquer la différence entre:

onMenuItemSelected (int featureId, MenuItem item)
http://developer.android.com/reference/android/app/Activity.html#onMenuItemSelected%28int,%20android.view.MenuItem%29

et

onOptionsItemSelected (MenuItem item)
http://developer.android.com/reference/android/app/Activity.html#onOptionsItemSelected%28android.view.MenuItem%29

dans Android? J'ai trouvé un tutoriel quelqu'un remplace les deux méthodes.

// Reaction to the menu selection
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
    switch (item.getItemId()) {
    case R.id.insert:
        createTodo();
        return true;
    }
    return super.onMenuItemSelected(featureId, item);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.insert:
        createTodo();
        return true;
    }
    return super.onOptionsItemSelected(item);
}

Source: http://www.vogella.de/articles/AndroidSQLite/article.html

52voto

Harald Wilhelm Points 2760

Android connaît plusieurs types de menus (par exemple, le menu Options et le menu contextuel). onMenuItemSelected est le rappel générique. Vous n'avez pas besoin de l'utiliser habituellement. onOptionsItemSelected est le rappel du menu d'options et onContextItemSelected est le rappel du menu contextuel. Utilisez ces deux spécifiques à la place.

10voto

rhite1 Points 91

Avec ADT 17 (version 4.2), le rappel onOptionsItemSelected permettra à l’utilisateur d’accéder aux options de menu à partir de n’importe quel contexte, y compris le bouton Menu et la barre d’action. À partir de la version 3.0 d’Android, la méthode recommandée est la barre d’action accessible depuis onMenuItemSelected . Si vous concevez une application prenant en charge les versions 2.3 ou antérieures à onOptionsItemSelected , vous le souhaitez.

3voto

Carlos Silva Points 324

En regardant le code, onMenuItemSelected peut être appelé par un Menu d'Options (bouton Menu) cliquez sur ou par le Menu Contextuel, cliquez sur. Fondamentalement, il transfère simplement les clics pour les autres méthodes correspondantes.

Regarde le code ici: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/1.5_r4/android/app/Activity.java#2078

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X