1
resposta

Erro no onClickListener

Quando clico no botão de salvar, não acontece nada. Não sei se o filtro está correto no logcat.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade ![](![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade ))Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi, boa tarde!

Há alguns problemas no código fornecido. Aqui estão algumas correções:

  1. O método onCreate não deve ter os parâmetros savedInstanceState e persistentState. Remova esses parâmetros.
  2. O código para obter o nome do campo (campoNome.text.toString()) e o log correspondente estão fora do bloco de código do setOnClickListener. Eles devem estar dentro desse bloco para serem executados quando o botão for clicado.
  3. O lambda do setOnClickListener deve ter uma única linha, e parece que você está tentando passar um parâmetro it: View!. Corrija isso para it ->.

Aqui está uma versão corrigida do seu código:

package com.example.orgs.ui.activity

import android.os.Bundle
import android.util.Log
import android.view.View
import android.widget.Button
import android.widget.EditText
import androidx.appcompat.app.AppCompatActivity
import com.example.orgs.R

class FormularioProdutoActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_formulario_produto)

        val botaoSalvar = findViewById<Button>(R.id.botao_salvar)
        botaoSalvar.setOnClickListener {
            val campoNome = findViewById<EditText>(R.id.nome)
            val nome = campoNome.text.toString()
            Log.i("FormularioProduto", "onCreate: ${nome}")
        }
    }
}

Tenha certza de que a lógica relacionada ao botão de salvar está agora dentro do bloco setOnClickListener.

Isso deve resolver o problema de não haver nenhuma ação quando o botão é clicado.