【发布时间】:2019-06-30 15:49:49
【问题描述】:
我很难为从 sqlite 数据库加载的工作回收器视图添加不同的视图类型。我希望这是列表末尾的一个按钮,因为在布局末尾添加一个按钮是错误的,将来我会假装添加更多视图类型。
我看到了多个具有多种解决方案的示例,但我是初学者,我的 java 不是很好,因为我正在使用 kotlin 学习 android studio。
我试过了:
扩展回收站视图持有者
-我无法继续,因为我不懂java代码。
使用 BaseViewHolder
-我在 onCreateViewHolder 单元的返回类型和视图持有者的声明方面遇到了问题,所以我不能像我找到的示例那样做
我认为我的 getItemViewType 正在工作,我在 dbhandler 中的光标后添加一个 id =-10 的 1 行,以在列表末尾获取不同的视图类型。
override fun getItemViewType(position: Int) :Int {
return if (list[position].id.toInt() == -10 ){
VIEW_TYPE_FOLLOWER
}else{
VIEW_TYPE_HEADER
}
}
当我尝试返回 ViewHolder 和 ViewHolder2 时,我对 onCreateViewHolder 有很多疑问,我得到了错误,所以这是我的工作视图。
override fun onCreateViewHolder(p0: ViewGroup, p1: Int): ViewHolder {
val v = LayoutInflater.from(p0.context).inflate(R.layout.list_layout, p0 , false)
return ViewHolder(v)
}
视图持有者
class ViewHolder(itemView: View) :RecyclerView.ViewHolder(itemView){
val textViewName = itemView.findViewById(R.id.textViewName)as TextView
val textViewNameEdit = itemView.findViewById(R.id.textViewNameEdit)as EditText
val textViewAddress = itemView.findViewById(R.id.priorityLevel) as TextView
val notas = itemView.findViewById(R.id.notas) as TextView
}
我想要一个不同的视图类型在最后使它成为一个按钮。
【问题讨论】:
-
从 java 开始,我不明白他的 OnCreateViewHolder 是如何指定返回类型的,另一个 aswer 扩展了回收器视图持有者,我将其添加到我的问题等中......
标签: android sqlite kotlin android-recyclerview