Bom dia a todos
Eu tava fazendo o desafio final do Migration e Relacionamento com o Room, e estava na parte do menu de listagem dos produtos por usuário, mas o meu problema é que não há a junção de ambos e só mostra o primeiro usuário da lista no cabeçalho. Ele fica desse jeito:
Eu queria saber o que estou errando, porque eu até deixei o código igual ao que está no código do desafio (com exceção de um ajuste pelo fato de ter mais de 1 HOF no ListaProdutosAdapter
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<TextView
android:id="@+id/cabecalho_usuario_titulo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintVertical_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="@tools:sample/full_names" />
</androidx.constraintlayout.widget.ConstraintLayout>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.activity.ListarTodosActivity">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/activity_lista_todos_produtos_recycler_view"
android:layout_width="0dp"
android:layout_height="0dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:listitem="@layout/produto_item" />
</androidx.constraintlayout.widget.ConstraintLayout>
class ListarTodosAdapter(
private val context: Context,
usuario: List<String?> = emptyList()
):RecyclerView.Adapter<ListarTodosAdapter.ViewHolderMapper>() {
private val usuarios: List<String?> = usuario.toMutableList()
inner class ViewHolderMapper(
private val binding: CabecalhoUsuarioBinding
):RecyclerView.ViewHolder(binding.root){
fun vincula(usuario: String?){
binding.cabecalhoUsuarioTitulo.text = usuario
}
}
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int,
) = ViewHolderMapper(
CabecalhoUsuarioBinding.inflate(LayoutInflater.from(context),
parent,
false)
)
override fun getItemCount(): Int = usuarios.size
override fun onBindViewHolder(holder: ViewHolderMapper, position: Int) {
val usuario = if (usuarios[position].isNullOrBlank())
"sem usuario"
else usuarios[position]
holder.vincula(usuario)
}
}
Vou deixar o código da activity em um outro comentário (faltou espaço)
Ps: não fiz a parte ainda do formulário, vou fazer agora esperando a resposta desse fórum
Ps2: infelizmente não achei nada no logcat que me auxilie a descobrir o erro