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:

  • Como ler todos os bytes juntos via Bluetooth?
  • Phonegap- Suporte paira notificação push
  • Crouton depende de bibliotecas, mas não é uma biblioteca em si
  • Como criair um layout dividido em diagonal e as duas metades podem ser clicadas?
  • Adicionando uma checkbox de dialog Progress em uma visão geral
  • Consulta ORMLite com citação, Android
  • @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?

  • Dispositivo Android não reconhecido pelo adb
  • Crie um novo menuInflater ou getMenuInflater () da atividade?
  • Escrevendo script Gradle paira executair casos de unit testing paira o projeto Eclipse Android Test
  • Mostrair Android SnackBair acima do keyboard?
  • Obtenha o nome da atividade iniciável do package de adb
  • Android encher automaticamente: dispatchProvideAutofillStructure () não disposta
  • 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.