I have a problem with the getMenuInflater ()

3
package com.example.victor.asteroids;

import...  

public class MainActivity extends AppCompatActivity {  
    private Button btnAcercaDe,btnSalir;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        btnAcercaDe=(Button) findViewById(R.id.btnAcercaDe);  
        btnSalir = (Button) findViewById(R.id.btnSalir);  
        btnAcercaDe.setOnClickListener(new View.OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                lanzarAcercaDe(null);  
            }  
        });  
        btnSalir.setOnClickListener(new View.OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                finish();  
            }    
        });  
    }  

    public void lanzarAcercaDe(View view){
        Intent i = new Intent(this,AcercaDe.class);
        startActivity(i);
    }

    @Override
        public boolean onCreateOptionsMenu(Menu menu) {
        return super.onCreateOptionsMenu(menu);
        MenuInflater inflater = getMenuInflater();//Aqui se lanza el error Unreachable Statement
        inflater.inflate(R.menu.game_menu,menu);
        return true;
     }
}
    
asked by Parzival 17.06.2016 в 22:57
source

2 answers

1

If you realize you have two return ,

 @Override
        public boolean onCreateOptionsMenu(Menu menu) {
        return super.onCreateOptionsMenu(menu); //primer return.
        MenuInflater inflater = getMenuInflater();//Aqui se lanza el error Unreachable Statement
        inflater.inflate(R.menu.game_menu,menu);
        return true; //segundo return.
     }

the first one will cause you to have a null menu since it does not inflate the menu at any time:

 return super.onCreateOptionsMenu(menu);

You can simply return true , after the inflater, "inflates" the layout using the inflate() method:

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

MenuInflater Instance the .xml of the menu in objects Menu .

    
answered by 17.06.2016 в 23:30
-1

This is how the function onCreateOptionsMenu() should be.

public boolean onCreateOptionsMenu(Menu menu) {  
    MenuInflater inflater = getMenuInflater();   
    inflater.inflate(R.menu.game_menu,menu);  
    return super.onCreateOptionsMenu(menu);  
}
    
answered by 17.06.2016 в 23:17