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

[Bug] Resource compilation failed (Failed to compile values resource file

Apos ter implementado o codigo da aula, ao rodar o app apareceu o seguinte erro: Resource compilation failed (Failed to compile values resource file C:\Users\silas\AndroidStudioProjects\ Orgs\ app\ build\ intermediates\ incremental\ debug\ mergeDebugResources\ merged. dir\ values\ values. xml. Cause: java.lang.IllegalStateException: Can not extract resource from com.android.aaptcompiler. ParsedResource@ 2b9a19cc. ) . Check logs for more details. Insira aqui a descrição dessa imagem para ajudar na acessibilidadeO que eu faço?

6 respostas

Oi, Silas. Tudo bem?

Parece que faltou fazer o override do onClick e também passar o parametro do setOnClickListener. Tenta com o código abaixo:

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

        val botaoSalvar = findViewById<Button>(R.id.botao_salvar)
        botaoSalvar.setOnClickListener(object : View.OnClickListener {
            override fun onClick(v: View?) {
                val campoNome = findViewById<EditText>(R.id.nome)
                val nome = campoNome.text.toString()
                Log.i("FormularioProduto", "onCreate: $nome")
            }
        })
    }
}

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado

Apos ter implementado essa sugestao de codigo, o erro persiste.

class FormularioProdutoActivity :
    AppCompatActivity(R.layout.activity_formulario_produto) {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val botaoSalvar = findViewById<Button>(R.id.botao_salvar)
        botaoSalvar.setOnClickListener(object : View.OnClickListener {
            override fun onClick(v: View?) {

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

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Oi, Silas. Tudo bem?

Verifica se algum arquivo XML de recursos (como strings.xml, colors.xml, etc.) contém erros de sintaxe, valores inválidos ou repetidos. Aqui eu reproduzi o mesmo erro inserindo um valor inválido para uma cor no arquivo colors.xml, por exemplo.

Se você tiver o projeto em um repositório, poderia me enviar o link? Assim eu posso dar uma olhada melhor no que pode estar acontecendo.

Fico no aguardo :)

solução!

Oi, Silas.

O problema está na declaração do item no ids.xml, não precisa passa um valor dentro da tags. A arquivo está assim:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="botao_salvar" type="id">botao_salvar</item>
</resources>

Modificando para ficar igual o código abaixo foi o suficiente para corrigir o problema.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="botao_salvar" type="id" />
</resources>

Faça a correção e me diga se funcionou.

Fico no aguardo.

Funcionou aqui, obrigado!