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

Unresolved reference: text

Depois que fiz as alterações o programa não roda. Aparece o erro Unresolved reference: text

No 'FormularioProdutoActivity', dentro do método 'CriaProduto' todas as propriedades text ficam na cor vermelha

val campoNome = binding.activityFormularioProdutoNome
        val nome = campoNome.**text**.toString()
        val campoDescricao = binding.activityFormularioProdutoDescricao
        val descricao = campoDescricao.**text**.toString()
        val campoValor = binding.activityFormularioProdutoValor
        val valorEmTexto = campoValor.**text**.toString()

Alguém sabe o motivo?

Obrigado

2 respostas

Reparei que o binding está retornando o tipo 'TextInputLayout' que não permite a chamada do text.

Tentei usar o findViewById para buscar o 'TextInputEditText' no lugar mas o programa, apesar de compilar, na hora de salvar no aplicativo ele quebra dizendo que não é possível fazer o casting

val campoNome2 = findViewById<TextInputEditText>(R.id.activity_formulario_produto_nome)
        val nome = campoNome2.text.toString()

java.lang.ClassCastException: com.google.android.material.textfield.TextInputLayout cannot be cast to com.google.android.material.textfield.TextInputEditText

solução!

Ley, de boa ?

Cara se tu tá usando o TextInputLayout, tu tem um TextInputEditText ou um EditText dentro dele.

Sabendo disso, tem 2 possibilidades pro problema, deixar o id pro EditText ou usar o TextInputLayout e chamar a propriedade editText dele pra ter acesso ao EditText e por sua vez a propriedade text

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software