1
resposta

Erro ao inserir alunos no banco dentro de um botão comum

Estou criando um sistema de login, onde será recebido os dados do usuário p salvar no banco de dados. Mas, diferente do código do curso, os dados serão inseridos no banco quando clicar no botão comum, e não em um item do menu. Porém o this que ele coloca em AlunoDAO dao = new AlunoDAO(this); não é aceito quando colocado dentro do onClick.

 protected void onCreate(Bundle savedInstanceState){

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_cadastro1);

        helper = new CadastroHelper(this);


        Button continuar = (Button) findViewById(R.id.cadastroContinuar);
        continuar.setOnClickListener((OnClickListener) this);

        continuar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                Usuario usuario = helper.pegaUsuario();
                UsuarioDAO dao = new UsuarioDAO(this);
                dao.insere(usuario);
                dao.close();//fechar conexao com banco de dados

                Intent irContinuar = new Intent(Cadastro1Activity.this, LoginActivity.class);
                startActivity(irContinuar);


                Toast.makeText(Cadastro1Activity.this,"Usuário cadastrado!", Toast.LENGTH_SHORT).show();
                finish();
            }
        });
1 resposta

Oi Marina, tudo bem ?

Lembra que esse this é referente ao contexto, que no caso a classe anonima, que é o listener, não é. Para isso você precisa falar que precisa do contexto da classe de "fora", para fazer isso só colocar o nome completo: "NomeDaClasse.this" que deve solucionar :D