Meu Adapter
package com.example.orgs.ui.recyclerview.adapter
import android.annotation.SuppressLint
import android.content.Context
import android.icu.text.NumberFormat
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import coil.load
import coil.transform.CircleCropTransformation
import com.example.orgs.R
import com.example.orgs.databinding.ProdutoItemBinding
import com.example.orgs.ui.modelo.Produtos
import java.lang.NumberFormatException
import java.util.*
class ListaProdutosAdapter(
private val context: Context,
produtos: List<Produtos>
) : RecyclerView.Adapter<ListaProdutosAdapter.ViewHolder>() {
private val produtos = produtos.toMutableList()
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val binding = ProdutoItemBinding
.inflate(
LayoutInflater
.from(context),
parent,
false
)
return ViewHolder(binding)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bind(produtos[position])
}
override fun getItemCount(): Int = produtos.size
@SuppressLint("NotifyDataSetChanged")
fun atualiza(produtos: List<Produtos>) {
this.produtos.clear()
this.produtos.addAll(produtos)
notifyDataSetChanged()
}
class ViewHolder(private val binding: ProdutoItemBinding) : RecyclerView.ViewHolder(binding.root) {
private val produtoTitulo = binding.titulo
private val produtoDescricao = binding.descricao
private val produtoValor = binding.valor
private val produtoImagem = binding.imageView
fun bind(produtos: Produtos) {
produtoTitulo.text = produtos.nome
produtoDescricao.text = produtos.descricao
val formatador = java.text.NumberFormat.getCurrencyInstance(Locale("pt", "br"))
produtoValor.text = formatador.format(produtos.valor)
produtoImagem.load("https://images.pexels.com/photos/2288683/pexels-photo-2288683.jpeg")
}
}
}
Meu Manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.orgs">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Orgs"
tools:targetApi="31">
<activity android:name="com.example.orgs.ui.activity.FormularioProdutoActivity"/>
<activity
android:name="com.example.orgs.ui.activity.ListaProdutosActivity"
android:exported="true"
tools:ignore="MissingClass">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="preloaded_fonts"
android:resource="@array/preloaded_fonts" />
</application>
</manifest>