Android 使用FirebaseRecyclerAdapter和Kotlin的RecyclerView中的项目按钮

Android 使用FirebaseRecyclerAdapter和Kotlin的RecyclerView中的项目按钮,android,firebase,kotlin,firebase-realtime-database,android-recyclerview,Android,Firebase,Kotlin,Firebase Realtime Database,Android Recyclerview,我的活动看起来像这样 class UtfordringerActivity : AppCompatActivity() { private lateinit var mRecyclerView: RecyclerView lateinit var mDatabase: DatabaseReference override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedI

我的活动看起来像这样

class UtfordringerActivity : AppCompatActivity() {

    private lateinit var mRecyclerView: RecyclerView
    lateinit var mDatabase: DatabaseReference


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_utfordringer)
        supportActionBar?.title = "Utfordringer"

        recyclerview_utfordringer.layoutManager = LinearLayoutManager(this)

        // Firebase Realtime db noden vi setter inn i recyclerviewet
        mDatabase = FirebaseDatabase.getInstance().getReference("Utfordringer")
        mRecyclerView = findViewById(R.id.recyclerview_utfordringer)

        updateToRecyclerView()
    }



    // Funksjon som henter data og setter inn i RecyclerViewet med FirebaseRecyclerAdapter
    private fun updateToRecyclerView() {

        val firebaseRecyclerAdapter = object : FirebaseRecyclerAdapter<Utfordringer, CustomViewHolder>(
                Utfordringer::class.java,
                R.layout.utfordring_item,
                CustomViewHolder::class.java,
                mDatabase
        ) {
            override fun populateViewHolder(viewHolder: CustomViewHolder?, model: Utfordringer?, position: Int) {

                if (model != null) {
                    viewHolder?.itemView?.recyclerview_text_1?.text = model.kategori
                }
                if (model != null) {
                    viewHolder?.itemView?.recyclerview_text_2?.text = model.utfordring
                }
            }
        }
        mRecyclerView.adapter = firebaseRecyclerAdapter
    }


    // Viewholder
    class CustomViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {


    }

}

我不是在寻找一个完整的解决方案,也不是在没有学习的情况下免费得到任何东西。我只是希望有人能给我指出正确的方向,或者帮我一点忙:)

你可以在recyclerView项目上点击listener。在项目适配器中,复制以下内容:

private var onClickListener: OnClickListener? = null

 fun setOnClickListener(onClickListener: OnClickListener)
    {
        this.onClickListener = onClickListener
    }


interface OnClickListener
    {
        fun onClick(position: Int, model: YourItemModel)
    }
在onBindViewHolder中输入以下内容:

holder.itemView.setOnClickListener {
                if (onClickListener != null)
                {
                    onClickListener!!.onClick(position, model)
                }
            }
最后,在设置recyclerView时,只需使用如下适配器:

adapter.setOnClickListener(object : SomethingAdapter.OnClickListener
        {
            override fun onClick(position: Int, model: YourItemModel) {
               
            }
        })

您甚至可以使用向左/向右滑动来对recyclerView项执行某些操作。

您可以在recyclerView项上单击listener。在项目适配器中,复制以下内容:

private var onClickListener: OnClickListener? = null

 fun setOnClickListener(onClickListener: OnClickListener)
    {
        this.onClickListener = onClickListener
    }


interface OnClickListener
    {
        fun onClick(position: Int, model: YourItemModel)
    }
在onBindViewHolder中输入以下内容:

holder.itemView.setOnClickListener {
                if (onClickListener != null)
                {
                    onClickListener!!.onClick(position, model)
                }
            }
最后,在设置recyclerView时,只需使用如下适配器:

adapter.setOnClickListener(object : SomethingAdapter.OnClickListener
        {
            override fun onClick(position: Int, model: YourItemModel) {
               
            }
        })
您甚至可以使用左/右滑动对具有的recyclerView项执行某些操作