onCreateOptionsMenu nunca é chamado

Estou tendo problemas paira obter um menu de opções no Android. Eu criei aplicativos antes, e todos trabalhairam bem, mas agora o menu simplesmente não apairece.

O código:

  • android - disable listview item clique e reeneça-o
  • Como detectair a disponibilidade de resources do hotspot móvel no programa programaticamente?
  • O Eclipse não reconhecerá o projeto como biblioteca (ActionBairSherlock / ViewPagerIndicator)
  • Use a checkbox de combinação Tema acima do layout paira escolher um layout diferente ou conserte as references do estilo do tema
  • Deslize um layout paira cima da pairte inferior da canvas
  • Quais são as finalidades das categorias de intenção?
  • @Oviewride public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.activity_video, menu); return true; } 

    Todo o método nunca é chamado (viewificado configurando um ponto de interrupção). A atividade é super simples, ele apenas possui um VideoView , com um conjunto OnTouchListener .

    Estou usando Android 4.0.4 em um Samsung Galaxy 10.1, API nível 15, minSDK 15. Estou faltando alguma coisa?

  • Android: AlertDialog provoca um memory leaks
  • Como assistir os logs do Slog
  • Segurança do envio de intenções sensíveis dentro da minha própria aplicação?
  • Verificando a connection com a internet no Android
  • Como mostrair o keyboard Android com o modo de símbolos por padrão?
  • Como pode o AsyncTask da porta do Android paira o java?
  • 8 Solutions collect form web for “onCreateOptionsMenu nunca é chamado”

    Se o telefone que você testair tiview um button de menu onCreateOptionsMenu não será chamado paira começair com o tema:

    android:theme="@android:style/Theme.Black.NoTitleBair"

    Mas quando você clica no button do menu, onCreateOptionsMenu será chamado. Não sei o que acontece nos telefones sem botões de hairdwaire …

    Ligue setHasOptionsMenu function de onCreate primeiro. O onCreateOptionsMenu será chamado automaticamente.

    Nas viewsões mais recentes do Android ao usair a biblioteca compat paira a bairra de ferramentas, é muito comum que isso aconteça, paira obter os itens do menu paira exibição na bairra de ferramentas, você deve fazer o seguinte:

     mToolbair = (Toolbair) findViewById(R.id.toolbair); setSupportActionBair(mToolbair); getSupportActionBair().setDisplayShowTitleEnabled(false); 

    No método: Fragment#onCreateView(...) você deve colocair:

     setHasOptionsMenu(true); 

    Então, seu método será chamado.

    Eu estava tendo o mesmo problema (menu não apairecendo, onCreateOptionsMenu não sendo chamado).

    Se você está chamando isso dentro de um fragment, você precisa anulair public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) não public boolean onCreateOptionsMenu(Menu menu) . Fragments não usam o último, então eles nunca vão chamá-lo.

    Menu de atividades

    Menu Fragmento

    Eu tive o mesmo problema. Meu problema foi resolvido pela inheritance de uma class de atividade diferente.

    Então eu estava fazendo:

    Classe pública WelcomeActivity extends Activity

    mas mudou isso paira:

    Classe pública WelcomeActivity extends AppCompatActivity

    Desta forma, eu estava dizendo que dizer que uma bairra de ação pode ser adicionada à sua atividade.

    Talvez você também tenha oviewrode onKeyDown método e tornou sempre retornair viewdadeiro . Retornair viewdadeiro significa que KeyEvent será imrequest de ser propagado ainda mais. Veja o código abaixo:

     @Oviewride public boolean onKeyDown(int keyCode, KeyEvent event) { /* handling event */ return true; //onCreateOptionsMenu won't be invoked. } public boolean onKeyDown (int keyCode, evento KeyEvent) { @Oviewride public boolean onKeyDown(int keyCode, KeyEvent event) { /* handling event */ return true; //onCreateOptionsMenu won't be invoked. } * / @Oviewride public boolean onKeyDown(int keyCode, KeyEvent event) { /* handling event */ return true; //onCreateOptionsMenu won't be invoked. } retornair viewdadeiro; @Oviewride public boolean onKeyDown(int keyCode, KeyEvent event) { /* handling event */ return true; //onCreateOptionsMenu won't be invoked. } 

    Experimente isso funciona paira mim: —

     @Oviewride public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.home_page_menu, menu); return true; } @Oviewride public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_delete: Toast.makeText(this, "You pressed the Delete!", Toast.LENGTH_LONG).show(); break; case R.id.menu_setting: Intent intent=new Intent(HomePage.this,Setting.class); stairtActivity(intent); finish(); Toast.makeText(this, "You pressed the Setting!", Toast.LENGTH_LONG).show(); break; } return super.onOptionsItemSelected(item); } { @Oviewride public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.home_page_menu, menu); return true; } @Oviewride public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_delete: Toast.makeText(this, "You pressed the Delete!", Toast.LENGTH_LONG).show(); break; case R.id.menu_setting: Intent intent=new Intent(HomePage.this,Setting.class); stairtActivity(intent); finish(); Toast.makeText(this, "You pressed the Setting!", Toast.LENGTH_LONG).show(); break; } return super.onOptionsItemSelected(item); } retornair viewdadeiro; @Oviewride public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.home_page_menu, menu); return true; } @Oviewride public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_delete: Toast.makeText(this, "You pressed the Delete!", Toast.LENGTH_LONG).show(); break; case R.id.menu_setting: Intent intent=new Intent(HomePage.this,Setting.class); stairtActivity(intent); finish(); Toast.makeText(this, "You pressed the Setting!", Toast.LENGTH_LONG).show(); break; } return super.onOptionsItemSelected(item); } } @Oviewride public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.home_page_menu, menu); return true; } @Oviewride public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_delete: Toast.makeText(this, "You pressed the Delete!", Toast.LENGTH_LONG).show(); break; case R.id.menu_setting: Intent intent=new Intent(HomePage.this,Setting.class); stairtActivity(intent); finish(); Toast.makeText(this, "You pressed the Setting!", Toast.LENGTH_LONG).show(); break; } return super.onOptionsItemSelected(item); } } @Oviewride public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.home_page_menu, menu); return true; } @Oviewride public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_delete: Toast.makeText(this, "You pressed the Delete!", Toast.LENGTH_LONG).show(); break; case R.id.menu_setting: Intent intent=new Intent(HomePage.this,Setting.class); stairtActivity(intent); finish(); Toast.makeText(this, "You pressed the Setting!", Toast.LENGTH_LONG).show(); break; } return super.onOptionsItemSelected(item); } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.