想象一下,一个图库应用程序(某种程度上).但我想以10张图片的形式显示在屏幕上,而不是图库。
如何检测用户点击的图片?我应该使用ImageView和onClick方法吗?想象一下,为100个ImageViews实现onClick事件?
想象一下,为100个ImageView实现onClick事件,对每个显示在屏幕上的ImageView检查是否包含用户触摸坐标?
同样的问题困扰着我,如何检测用户是否触摸了画在画布上的位图。
Java, Android.
你会想使用一个 再生器查看 列表项的布局xml中的ImageView。
您可以在列表项的布局xml中创建一个可点击的 视图持有人 像这样。
class ClickableViewHolder(final override val containerView: View, onClick: (position: Int) -> Unit) : RecyclerView.ViewHolder(containerView) {
init {
containerView.setOnClickListener {
val pos = absoluteAdapterPosition
// check if item still exists
if (pos != RecyclerView.NO_POSITION) {
onClick(pos)
}
}
}
}
在你身上的用法 适配器 类。
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val v = LayoutInflater.from(parent.context).inflate(R.layout.list_item, parent, false)
return ClickableViewHolder(v) { position: Int ->
getItem(position)?.let {
//Do something here
}
}
}