AndroidRecycleviewMultipleViewTypes在Kotlin中不起作用
创始人
2024-10-09 18:01:46
0

在Kotlin中使用多个视图类型的步骤与Java类似,需要按照以下方式更改代码:

1.如果您使用的是Kotlin Android扩展库,则应使用标准的findViewById方法在代码中引用视图。

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
    return when(viewType) {
        TYPE_ONE -> {
            val view = LayoutInflater.from(parent.context).inflate(R.layout.item_type_one, parent, false)
            ViewHolderOne(view)
        }
        TYPE_TWO -> {
            val view = LayoutInflater.from(parent.context).inflate(R.layout.item_type_two, parent, false)
            ViewHolderTwo(view)
        }
        else -> throw IllegalArgumentException("Invalid view type")
    }
}

2.在您的适配器类中声明getViewType方法,并在其中检查传递给onCreateViewHolder方法的视图类型,并为每个视图类型返回相应的整数值。

override fun getItemViewType(position: Int): Int {
    return when(items[position]) {
        is TypeOne -> TYPE_ONE
        is TypeTwo -> TYPE_TWO
        else -> throw IllegalArgumentException("Invalid type of data $position")
    }
}

3.在您的ViewHolder类中声明每个视图类型的视图引用,并在构造函数中将其初始化。

class ViewHolderOne(itemView: View) : RecyclerView.ViewHolder(itemView) {
    val textView: TextView = itemView.findViewById(R.id.text_view_title)
    val imageView: ImageView = itemView.findViewById(R.id.image_view)
}

class ViewHolderTwo(itemView: View) : RecyclerView.ViewHolder(itemView) {
    val textView: TextView = itemView.findViewById(R.id.text_view_description)
    val switch: Switch = itemView.findViewById(R.id.switch_view)
}

这些简单的更改应该使您能够在Kotlin中成功使用多个视图类型。

相关内容

热门资讯

透视透视挂!红龙poker作弊... 透视透视挂!红龙poker作弊指令,德普之星辅助正版,教学盘点(有挂攻略),您好,德普之星辅助正版这...
透视科技!德普之星透视辅助,w... 透视科技!德普之星透视辅助,wpk插件,力荐教程(都是是有挂);原来确实真的有挂(需添加指定Q群10...
透视代打!wpk辅助器,红龙p... 透视代打!wpk辅助器,红龙poker脚本,一分钟了解(有挂了解);红龙poker脚本辅助插件是一个...
透视苹果版!德普之星app安卓... 透视苹果版!德普之星app安卓版破解版,德普之星有辅助软件吗,wpk教程(从来是有挂)德普之星app...
透视规律!德普之星辅助器app... 透视规律!德普之星辅助器app,aapoker透视脚本下载,每日必看(有挂教学)1、每个玩家都可以进...
透视最新!wepoker辅助下... 透视最新!wepoker辅助下载,aapoker透视插件,黑科技教程(最初真的是有挂);aapoke...
透视数据!wepoker免费透... 透视数据!wepoker免费透视脚本,aapoker透视脚本下载,玩家必知教程(有挂黑科技)1、每一...
透视ai!hhpoker透视脚... 透视ai!hhpoker透视脚本视频,wepoker怎么破解游戏,技巧教程(一直真的是有挂);hhp...
透视黑科技!aapoker透视... 透视黑科技!aapoker透视插件下载,wpk有没有脚本,重大科普(有挂黑科技)1、快速入门:当你通...
透视ai!智星菠萝辅助怎么买,... 透视ai!智星菠萝辅助怎么买,佛手在线有挂吗,2025新版技巧(都是是有挂)是一款可以让一直输的玩家...