gpt4 book ai didi

android - 将代码转换为Kotlin后弃用Getter

转载 作者:行者123 更新时间:2023-12-02 13:08:41 24 4
gpt4 key购买 nike

我试图根据列表项的位置为某些对话框属性设置一些值,并且刚刚将某些代码从Java转换为Kotlin,但是由于某些原因,点击侦听器中的所有myList[position]实例都会返回此错误:

'getter for position: Int' is deprecated. Deprecated in Java.



但是对于 onBindViewHolder,可以使用什么替代方法解决此错误?
class MyRVAdapter(private val myList: ArrayList<Item>) : RecyclerView.Adapter<MyRVAdapter.ViewHolder>() {
override fun getItemCount(): Int {
return myList.size
}

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.myBtn.text = (myList[position].textBtnTitle)
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val v = LayoutInflater.from(parent.context).inflate(R.layout.my_cv, parent, false)

return ViewHolder(v)
}

class ViewHolder (itemView : View):RecyclerView.ViewHolder(itemView) {
val myBtn = itemView.findViewById<Button>(R.id.btn_a)!!

init {
myBtn.setOnClickListener {
val builder = AlertDialog.Builder(myBtn.context)
builder.setTitle(myList[position].txtDialogTitle)
builder.setMessage(myList[position].txtDialogMessage)
builder.setPositiveButton(android.R.string.ok){ dialog, _ -> dialog.dismiss() }

val dialog: AlertDialog = builder.create()
dialog.show()
}
}
}
}

最佳答案

我假设您是在谈论ViewHolder类中对position的引用。

请改用adapterPosition。 Java等效项为getAdapterPosition()。如果您在Java中使用getPosition(),则可能已取消了弃用警告。

关于android - 将代码转换为Kotlin后弃用Getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54951793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com