Tag: 适配器

如何使用界面android在适配器中创建onclick事件?

如何使用界面创建点击事件? 在我的应用程序中,我创建了视图单击界面来检测将适配器项目单击到父活动中。 创建接口和方法到适配器后,如何使用此接口来调用视图侦听器?

在ViewHolder中使用kotlin-android-extensions

class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { fun bindata(text: SingleText){ itemView.title.text = text.title itemView.desc.text = text.desc } } 像这样的代码,Kotlin在android扩展中有任何缓存? 当我反编译Kotlin字节码 public final void bindata(@NotNull SingleText text) { Intrinsics.checkParameterIsNotNull(text, “text”); ((AppCompatTextView)this.itemView.findViewById(id.title)).setText((CharSequence)text.getTitle()); ((AppCompatTextView)this.itemView.findViewById(id.desc)).setText((CharSequence)text.getDesc()); } 这意味着当我在Adapter.onBindViewHolder()中调用binData时,它会每次调用findViewById 这大大增加了性能的损失,并没有达到布局重用的目的 Kotlin在ViewHolder的android扩展中有任何缓存逻辑?

Kotlin适配器中的ViewHolder中的SetOnClickListener

我正在尝试在Kotlin中编写我的第一个RecyclerView自定义适配器。 每个View都非常简单,它是一个带有图片+名称的CardView 。 我面临两个问题: 错误1 – fun bindItems给我错误,当我尝试以下指定名称: // THIS DOES GIVE ME ERROR, IT MARKS txvW_recycItem_userName IN RED itemView.txvW_recycItem_userName = user.name // HOWEVER THIS WORKS val tvw_name = itemView.findViewById(R.id.txvW_recycItem_userName) as TextView tvw_name.text = user.name 错误2 – onBindViewHolder不允许我添加这样一个监听器: holder.bindItems(user[position]) holder.setOnClickListener{ //do whatever } 这里是适配器的完整代码: class CustomRecyclerAdapter(var user : ArrayList) : RecyclerView.Adapter(){ override fun onCreateViewHolder(parent: ViewGroup, […]