Пункт меню не виден

Я делаю пункт меню. Но я не могу просмотреть пункт меню на экране. Что нужно сделать, чтобы просмотреть пункт меню. Мой код:

            public boolean onCreateOptionMenu(Menu menu){
      super.onCreateOptionsMenu(menu);

       int group1 = 1;
       int group2 = 2;

      MenuItem info = menu.add(group1,1,1,"About");
      info.setIcon(R.drawable.ic_launcher);
      MenuItem set = menu.add(group2,2,2,"App Setting");
      set.setIcon(R.drawable.images);

       return true;
      }


         private boolean MenuChoice(MenuItem item){

            switch(item.getItemId()){
                case 1:
                Toast.makeText(this, "You clicked on item 1",    Toast.LENGTH_LONG).show();
                return true;
        }

       return false;
    }

7 ответов

Использовать этот:

public boolean onCreateOptionsMenu(Menu menu){
    Log.d(TAG, "CreateMenu");

     MenuInflater inflater = getMenuInflater();
     inflater.inflate(R.layout.menu, menu);
       return true;


}



@Override
public boolean onOptionsItemSelected(MenuItem item)
{    

        switch(item.getItemId()) {
                    case R.id.x:

            Toast.makeText(this, "You clicked on item 1",    Toast.LENGTH_LONG)         }
                        break;
                    }


    }
    return true;
}

У меня тоже была эта проблема... В моем случае это было связано с тем, что изображения были сохранены в папке "drawable"Я перенес их в"drawable-hdpiОдин и проблема была решена! Ура.

На Android-разработчиках есть хороший отзыв о меню.

Отсутствует меню Inflater:

MenuInflater inflater = getMenuInflater ();
inflater.inflate (R.menu.game_menu, меню);

через: http://developer.android.com/guide/topics/ui/menus.html

Попробуй как после возвращения super.onCreateOptionsMenu(menu) от onCreateOptionMenu

 public boolean onCreateOptionMenu(Menu menu){

   int group1 = 1;
   int group2 = 2;

   menu.add(group1,1,1,"About").setIcon(R.drawable.ic_launcher);
   menu.add(group2,2,2,"App Setting").setIcon(R.drawable.images);

   return super.onCreateOptionsMenu(menu);;
}

Моя причина в том, что в файле styles.xml родительский объект имел неверную тему. Убедитесь, что он начинается с Android: Попробуйте это:

<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.DeviceDefault.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

 @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        MenuInflater menuInflater = getMenuInflater();
        menuInflater.inflate(R.layout.menu, menu);
        return true;
    }

Посмотрите на этот пример

http://www.androidhive.info/2011/09/how-to-create-android-menus/

Другие вопросы по тегам