簡體   English   中英

每個 Recyclerview 項目都有不同的 onClick

[英]Different onClick for each and every Recyclerview item

我正在 Recyclerview 的幫助下制作網格布局,我已經以編程方式在網格中添加了四個 Recyclerview 項目,現在我想在單擊不同的項目時導航到不同的片段。 我找不到任何合適的方法來這樣做。

您應該在適配器 class 的 onBindViewHolder 中使用 if 條件,如下所示:

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    holder.item.setOnClickListener {
        when (position) {
            0 -> {
                //navigate to first fragment}
            }
            1 -> {
                //navigate to second fragment}
            }
            2 -> {
                //navigate to third fragment}
            }
            3 -> {
                //navigate to fourth fragment}
            }
        }
    }
}

試試下面的代碼

override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
        holder.textViewName.text = seriesList[position].name
        holder.textViewNameDesc.text = seriesList[position].desc

        holder.textViewName.setOnClickListener {
                            Toast.makeText(context,"clicked",Toast.LENGTH_SHORT).show()
        }


    }

您需要在回收器適配器中添加以上代碼

override fun onBindViewHolder(holder: StPanelHomeViewHolder, position: Int) {
        val item = dataset[position]
        holder.cardViewNavigation[0].setOnClickListener {
            val action =
                StPanelHomeFragmentDirections.actionStPanelHomeFragmentToStPanelPayFeeFragment()
            holder.view.findNavController().navigate(action)
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM