2010-10-14 3 views
0

Je suis nouveau dans l'application Android. développement, maintenant j'ai rencontré un problème étrange avec le bouton Menu. Voici la chose:"Aucun clavier pour l'ID 0"?

J'ai deux activités, "ActivityOne" et "ActivityTwo", où "ActivityTwo" est l'activité enfant de "ActivityOne". Dans les deux activités, j'ai défini les options du bouton de menu comme suit:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 
    MenuItem insertMenuItem = menu.add(0, INSERT_ID, 0, R.string.menu_insert); 
    insertMenuItem.setIcon(R.drawable.ic_menu_add); 

    MenuItem settingMenuItem = menu.add(0, SETTING_ID, 0, R.string.menu_setting); 
    settingMenuItem.setIcon(R.drawable.ic_menu_settings); 

    MenuItem aboutMenuItem = menu.add(0, ABOUT_ID, 0, R.string.menu_about); 
    aboutMenuItem.setIcon(R.drawable.ic_menu_about); 

    logPrinter.println("creating menu options..."); 

    return true; 
} 

@Override 
public boolean onMenuItemSelected(int featureId, MenuItem item) { 
    switch(item.getItemId()) { 
     case INSERT_ID: 
      doInsert(); 
      return true; 
     case SETTING_ID: 
     return true; 
     case ABOUT_ID: 
     showAbout(); 
     return true; 
    } 

    return super.onMenuItemSelected(featureId, item); 
} 

Dans « ActivityOne », lorsque je clique sur le bouton Menu physique, il n'y a pas d'options de menu contextuel à partir du bas de l'écran, quand j'ai vérifié la LogCat console, il y a deux messages d'avertissement , qui sont "Aucun clavier pour l'ID 0" et "en utilisant keyMap par défaut: /system/usr/keychars/qwerty.kcm.bin". MAIS, dans "ActivityTwo", le bouton de menu fonctionne bien, il me montre les options de menu que j'ai définies. Pourquoi le bouton de menu ne fonctionne pas dans "ActivityOne"??

Pourquoi? Que signifie le message d'avertissement ???

+0

ActivityTwo étend ActivityOne? – Macarse

+0

Non, il y a un bouton dans ActivityOne, lorsque l'utilisateur clique sur ce bouton, l'utilisateur accède à ActivityTwo. – Mellon

+1

duplication possible de ["Aucun clavier pour l'ID 0" - qu'est-ce que cela signifie?] (Http://stackoverflow.com/questions/6321706/no-keyboard-for-id-0-what-does-it-mean) –

Répondre

0

Le "pas de clavier pour l'id 0" ne veut rien dire.

Maintenant, avez-vous défini onCreateOptionsMenu dans les deux activités? Si non, faites-le. En outre, utilisez onOptionsItemSelected au lieu de onMenuItemSelected.

+0

Salut, OUI, j'ai défini onCreateOptionsMenu dans les deux activités. Je vais utiliser onMenuItemSelected et voir si cela aide. Je vous le ferai savoir demain. Merci. – Mellon

+0

Salut, j'ai utilisé onOptionsItemSelected au lieu de onMenuItemSelected, mais cela n'aide pas, je ne peux toujours pas faire apparaître mes options Menu lorsque je clique sur le bouton Menu physique ... :(Toutes les autres suggestions sont appréciées. – Mellon

Questions connexes