Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Aula 3 - Exibindo um menu no formulário

Estou tentando criar um método onCreateOptionsMenu() mas não funciona, segui o passo a passo do exercício mas a minha classe não encontra. Alguém saberia o por quê de não criar?

package br.com.alura.agenda;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class FormularioActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_formulario);

        Button botaoSalvar = (Button) findViewById(R.id.formulario_botao);
        botaoSalvar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(FormularioActivity.this, "Aluno Salvo!", Toast.LENGTH_SHORT).show();
                finish();
            }
        });
    }

    public boolean OnCreateOptionsMenu(Menu menu)
}

Segundo o exercício, eu deveria criar esse método ali mesmo onde escrevi, mas no que mostra na explicação, a classe já sugere esse método e completa. No meu caso, ela não sugere é diz que não existe, impedindo que eu faça o "super" e o "@Override".

4 respostas

Olá Victor,

Para que o Android Studio complete automaticamente você precisa escrever apenas o nome do método onCreateOptionsMenu sem o public e sem o boolean. Ele mesmo vai escrever isso quando completar. Cuidado também com as maiúsculas e minúsculas porque isso faz diferença.

Ah sim, nesse que colei aqui eu tentei escrever "public" e "boolean" pra ver se aparecia algo.

Eu já tentei escrever de todas as formas e ordens diferentes mas não aparece.

A mensagem do Android Studio é que o método não existe e, portanto, não pode ter "super" ou "@Override.

solução!

Ok Victor, tenta escrever o método exatamente como abaixo:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    return super.onCreateOptionsMenu(menu);
}

Se não funcionar assim, tenta reiniciar o Android Studio porque aparentemente o restante da sua classe está correta então ele deveria completar normalmente.

O erro estava na letra maiúscula mesmo, escrevi:

OnCreateOptionsMenu

O certo é com a primeira letra minúscula

onCreateOptionsMenu

Agora deu certo.

Tenho que prestar mais atenção a esses detalhes como você falou.

Obrigado por me ajudar Jeferson.