Webentwicklung

Übergeben Sie den Wert vom Recycler-Ansichtsadapter an die Aktivität – Android Kotlin

[ad_1]

In diesem Tutorial zeigen wir Ihnen, wie Sie Werte vom Recycler-Ansichtsadapter an die Aktivität in Kotlin übergeben können. Zuerst müssen Sie eine Schnittstelle erstellen:

// file name = RVInterface.kt

package com.adnantech.myapp

import android.view.View

interface RVInterface {
    fun onClick(view: View)
}

„RVInterface“ ist hier die Abkürzung für „Recycler View Interface“. Nehmen wir nun an, wir haben die folgende Modellklasse:

// file name = User.kt

package com.adnantech.myapp

class User(val name: String) {
    //
}

Und wir erstellen eine Array-Liste mit 3 Benutzern.

val users: ArrayList<User> = ArrayList()
users.add(User("Adnan"))
users.add(User("Tech"))
users.add(User("Developer"))

Dann müssen Sie eine Instanz Ihrer Schnittstelle in Ihrer Aktivitätsklasse erstellen:

private val rvInterfaceInstance: RVInterface = object : RVInterface {
    override fun onClick(view: View) {
        val index: Int = recyclerView.getChildAdapterPosition(view)
        if (users.size > index) {
            Log.i("mylog", users[index].name)
        }
    }
}

Dadurch wird die in der Schnittstelle erstellte „onClick“-Funktion überschrieben. Wenn diese Funktion aufgerufen wird, ruft sie den Index des Elements in der Recycler-Ansicht ab. Stellen Sie sicher, dass der Index im Array „users“ nicht ausgehend sein darf. Zeigen Sie dann den Benutzernamen in logcat an.

Danach müssen Sie diese Schnittstelleninstanz an Ihren Adapter übergeben:

val adapter: UsersAdapter = UsersAdapter(users, rvInterfaceInstance)

Da wir die Schnittstelleninstanz als Parameter senden, können wir sie problemlos im Konstruktor unseres Adapters abrufen:

class UsersAdapter(
    private var users: ArrayList<User>,
    private var rvInterfaceInstance: RVInterface
)

Und schließlich können wir in Ihrem Adapter innerhalb der Methode „onBindViewHolder“ die folgende Funktion aufrufen, um die Schnittstellenmethode innerhalb der Aktivitätsklasse aufzurufen:

holder.itemView.setOnClickListener {
    rvInterfaceInstance.onClick(holder.itemView)
}

Dadurch wird die Schnittstellenmethode aufgerufen, wenn auf das Element im Adapter geklickt wird. Sie können es aber auch zu jedem Button-Click-Listener hinzufügen.


Beitragsaufrufe: 47

[ad_2]

Tags

Related Articles

Close
Immediate Momentumxnxx story sex meyzo.me haryana sex نيك بنت جامدة porn-arab.net احلى قصص نيك نيك ممثله ounoun.com صور مص اللسان shruti hasan porn desixxxv.net indiaxx hindi movie xxx video flyporntube.net lokl sex www.xnxx.xom russianporntrends.com local assamese sex video mide-689 freejavstreaming.net 無修正 温泉 تحميل سكس مترجم orivive.com فيس بوك سكس carla abellana shows pinoytvpage.com starstruck last batch sexy girls xxx pornia.info hindi hot sexy video download ang probinsyano june 24 2022 full episode advance teleseryeone.com apoy sa langit june 9 2022 artikulo 247 may 19 eteleserye.com umiiwas in english sexa xxx blowjobporntrends.com tamil sex full video tamil padam sex padam tubedessert.mobi www videos9 com india ka sexy video teenporntrends.com pornohut.su