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

[Dúvida] Implementar o listener no adapter do RecyclerView para acessar o produto clicado e abrir a tela de detalhes do produto.

Boa noite, no Desafio: Tela de detalhes é preciso Implementar o listener no adapter do RecyclerView para acessar o produto clicado e abrir a tela de detalhes do produto.

Eu fiz essa implementação porem quando clico no item o mesmo fecha o app e no logcat me aparece EXCEPTION no arquivo DetalhesProdutoActivity.kt

Logcat:

FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.projeto.orgs/br.com.projeto.orgs.ui.activity.DetalhesProdutoActivity}: android.view.InflateException: Binary XML file line #31 in br.com.projeto.orgs:layout/activity_detalhes_produto: Binary XML file line #31 in br.com.projeto.orgs:layout/activity_detalhes_produto: Error inflating class

at br.com.projeto.orgs.ui.activity.DetalhesProdutoActivity.onCreate(DetalhesProdutoActivity.kt:15)

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

4 respostas

Olá Sérgio, tudo bem ?

Poderia me enviar o link do repositório do seu projeto ? Assim facilitaria para encontrarmos o problema.

Fico no aguardo do seu código :)

Olá, tudo bem!

Segue o link do GitHub: https://github.com/SergioTEC/Orgs, estou verificando que o problema esta no XML activity_detalhes_produto linha 33 mas não achei problema nesse CardView, se eu retirar ele o codigo funciona.

solução!

Opa Sérgio, tudo certo?

O ViewGroup do MaterialCard que está usando, esta depreciado e talvez não esteja reconhecendo a biblioteca, então eu recomendo substituir essa parte aqui:

        <com.google.android.material.card.MaterialCardView
            android:id="@+id/activity_detalhes_produto_cardView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            app:cardCornerRadius="25dp"
            app:cardElevation="10dp"
            app:layout_constraintBottom_toBottomOf="@id/activity_detalhes_produto_imagem"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/activity_detalhes_produto_imagem">

            <TextView
                android:id="@+id/activity_detalhes_produto_valor"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:fontFamily="@font/montserrat_bold"
                android:padding="8dp"
                android:text="R$ 1299,99"
                android:textColor="@android:color/holo_green_dark"
                android:textSize="24sp"
                android:textStyle="bold" />

        </com.google.android.material.card.MaterialCardView>

Para esse ViewGroup do pacote do androidx que é mais atualizado e não vai crashar seu app:

<androidx.cardview.widget.CardView
            android:id="@+id/activity_detalhes_produto_cardView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            app:cardCornerRadius="25dp"
            app:cardElevation="10dp"
            app:layout_constraintBottom_toBottomOf="@id/activity_detalhes_produto_imagem"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/activity_detalhes_produto_imagem">

            <TextView
                android:id="@+id/activity_detalhes_produto_valor"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:fontFamily="@font/montserrat_bold"
                android:padding="8dp"
                android:text="R$ 1299,99"
                android:textColor="@android:color/holo_green_dark"
                android:textSize="24sp"
                android:textStyle="bold" />

        </androidx.cardview.widget.CardView>

Se fizer essa alteração seu card ficará com a cor do tema dark, pra arrumar isso eu recomendo apagar o atributo theme da activity dos detalhes la no seu Manifest e com isso o projeto funciona normalmente como esperado :)

Qualquer dúvida estarei à disposição.

Forte abraço e bons estudos!!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

A sim, entendi. Deu certo, muito obrigado!!!