学习Kotlin语言之RecyclerView控件使用

 新建适配器:

package com.m1905.tv.player.demo

import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView

/**
 * 通过主构造器传数据
 * */
class KAdapter constructor(list: ArrayList) : RecyclerView.Adapter() {

    var listata : ArrayList

   init {//初始化之前先给数据赋值
       listata = list
   }

    /**
     * 设置布局
     * */
    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): MyViewHolder {
        return MyViewHolder(LayoutInflater.from(parent?.context).inflate(R.layout.rec_item,parent,false))
    }

    override fun getItemCount(): Int {//设置条数
       return listata.size
    }

    /**
     * 自定义ViewHolder
     * */
    override fun onBindViewHolder(holder: MyViewHolder?, position: Int) {
        //添加数据
       holder?.title?.setText("ssss"+position)
    }

    class MyViewHolder(itemView : View): RecyclerView.ViewHolder(itemView) {
        //初始化view
        val title : TextView = itemView.findViewById(R.id.sss)
    }
}

activity代码:

//初始化view,,需要as RecyclerView 指定view格式
var rec  = findViewById(R.id.rec) as RecyclerView
//数据
var list = ArrayList()
for (i in 1..10)
    list.add(i.toString())

//设置构造器
rec.layoutManager = LinearLayoutManager(this)
//设置适配器
rec.adapter = KAdapter(list)


版权声明:本文为guaigeng9858原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。