【发布时间】:2019-06-28 09:42:08
【问题描述】:
我已寻找解决此问题的方法,但找不到答案。
我可以让我的 onClickListener 在适配器的 onBindViewHolder 内工作(Kotlin),但 onLongClickListener(Kotlin)没有响应,即使代码没有显示错误
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
val ingredientdisplay=displayItems[position]
holder.setData(ingredientdisplay,position)
runningTotal=runningTotal+holder.itemView.tvcost.text.toString().toDouble()
println ("running total $runningTotal")
val intent = Intent("message_from_displayadapter")
intent.putExtra("runningtotal", runningTotal)
LocalBroadcastManager.getInstance(context).sendBroadcast(intent)
holder.itemView.setOnLongClickListener {view->
println("longclick")
true
}
holder.itemView.setOnClickListener {
val intent = Intent(context, ChooseIngredientsActivity::class.java)
ContextCompat.startActivity(context, intent, null)
}
}
我只是尝试println 或运行Toast,但没有任何反应。
我不明白为什么?我们将不胜感激。
【问题讨论】:
-
您还应该使用加法赋值(又名
+=)到您将变量分配给添加了双精度的变量的行。 (例如runningTotal += /* value to add */而不是runningTotal = runningTotal + /* value to add */)(查看 Kotlin 文档了解更多该语言支持的运算符:kotlinlang.org/docs/reference/…) -
Edric .谢谢你们两个有效的观点,但他们没有回答问题或影响代码的运行。
标签: android kotlin android-recyclerview onlongclicklistener