RecyclerView Adapter Position
Bunun için adapter içerisinde bir OnItemClickListener adında interface oluşturuyorum ve bunun içerisine de holder tarafında vereceğimiz adapter pozisyonu için parametre atıyorum.
interface OnItemClickListener {
fun onIconClickListener(clickedItemPosition: Int)
}bu sefer viewholder tarafında da vermemiz gerekiyor ve tasarım kısmında imageview' a tıklanıldığında adapter içerisindeki posizyonu da vermiş oluyoruz.
class ExampleAdapter(
private val listener: OnItemClickListener,
private val list: List<Example>
) : RecyclerView.Adapter<ExampleAdapter.ExampleViewHolder>() {
class ExampleViewHolder(
private val binding: CustomExampleRowBinding,
private val listener: OnItemClickListener
) : ViewHolder(binding.root) {
fun bind(example: Example) {
with(binding) {
exampleTextView.text = example.name
exampleImageView.setOnClickListener {
listener.onIconClickListener(adapterPosition)
}
}
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ExampleViewHolder {
return ExampleViewHolder(
CustomExampleRowBinding.inflate(
LayoutInflater.from(parent.context), parent, false
), listener
)
}
}Şimdi fragmente bu adapterdaki listeneri tanımlayarak override edelim
Geriye aldığımız pozisyona göre yapacağımız eylemleri yazmak kalıyor. İster logout yaparsın ister detay sayfasına gidersin. Spesifik bir item'a erişmeyi bu şekilde yapabildim.
Ad
Adapterın Tamamı
HomeFragment Tamamı
Last updated