用Kotlin写一个列表

文章目录

  • 前言
  • 一、Kotlin是什么?
  • 二、recyclerview使用步骤
    • 1.布局
    • 2.bean类
    • 3.recyclerview适配器
    • 4.处理 绑定数据
    • 4.效果图
  • 总结


前言

Kotlin中使用var、val来声明对象,区别在于:
var(可变变量):在程序中可更改使用var关键字声明的变量的值。
val(不可变变量):不能改变使用val关键字声明的变量的值,可简单理解为常量定义。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Kotlin是什么?

Kotlin,如前面所说,它是JetBrains开发的基于JVM的语言。JetBrains因为创造了一个强大的Java开发IDE被大家所熟知。Android Studio,官方的Android IDE,就是基于Intellij,作为一个该平台的插件。

Kotlin是使用Java开发者的思维被创建的,Intellij作为它主要的开发IDE。对于Android开发者,有两个有趣的特点:

  • 对Java开发者来说,Kotlin是非常直觉化的,并且非常容易学习。语言的大部分内容都是与我们知道的非常相似,不同的地方,它的基础概念也能迅速地掌握它。
  • 它与我们日常生活使用的IDE无需配置就能完全整合。Android
    Studio能够非常完美地理解、编译运行Kotlin代码。而且对这门语言的支持来正是自于开发了这个IDE的公司本身,所以我们Android开发者是一等公民。

二、recyclerview使用步骤

1.布局

代码如下(示例):

列表布局

 <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/rv_list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

内容布局

 <TextView
        android:id="@+id/tv_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
    <TextView
        android:id="@+id/tv_sex"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

2.bean类

新建一个bean类 主要用于存放内容
代码如下(示例):

class TextBean {
     
    var name: String? = null
    var sex: String? = null
}

3.recyclerview适配器

代码如下(示例):

//类里面直接包含上下文 和数据源
class MyAdapter(private val mContext: Context, private val mList: List<TextBean>?) : RecyclerView.Adapter<MyAdapter.ViewHolder>() {
     
	//定义获取xml文件
    private val mLayoutInflater: LayoutInflater = LayoutInflater.from(mContext)
    //创建
    override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): ViewHolder {
     
        val view = mLayoutInflater.inflate(R.layout.layout_item, viewGroup, false)
        val viewHolder = ViewHolder(view)

        return viewHolder
    }
	//绑定数据
    override fun onBindViewHolder(viewHolder: ViewHolder, i: Int) {
     
        viewHolder.test.text = mList!![i].name
        viewHolder.sex.text = mList!![i].sex
    }
	//集合长度
    override fun getItemCount(): Int {
     
        return mList?.size ?: 0
    }

    inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
     
        var test: TextView
        var sex: TextView
        init {
     
            this.test = itemView.findViewById(R.id.tv_text) as TextView
            this.sex = itemView.findViewById(R.id.tv_sex) as TextView
        }
    }
}

4.处理 绑定数据

代码如下(示例):
在mainactivity中做内容展示和数据处理

  1. 加载控件 加载数据
  2. 创建布局管理器
  3. 设置布局管理器
  4. 数据存入list集合
  5. 生成实体类对象
  6. 通过对象找到所需要设置内容
  7. 通过集合调用add方法存入数据
  8. 创建适配器
  9. 设置适配器
class MainActivity : AppCompatActivity() {
     
    override fun onCreate(savedInstanceState: Bundle?) {
     
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        initView()//加载控件
        getData()//加载数据
    }
    private fun initView() {
     
        val layoutManager = LinearLayoutManager(applicationContext)//布局管理器
        layoutManager.orientation = LinearLayoutManager.VERTICAL //设置方向
        rv_list.layoutManager = layoutManager //设置管理器
    }

    private fun getData() {
     
        val list = ArrayList<TextBean>() //数据存入集合
        for (i in 0..9) {
     //for循环 循环所需数据
            val testBean = TextBean() //生成实体类对象
            testBean.name = "" + i+"      " //通过对象找到内容
            testBean.sex = "男" + i
            list.add(testBean)//通过集合调用add方法存入数据
        }
        val myAdapter = MyAdapter(applicationContext, list)//创建适配器
        rv_list.adapter = myAdapter//设置适配器
    }
}

4.效果图

用Kotlin写一个列表_第1张图片


总结

提示:这里对文章进行总结:
以上就是今天要讲的内容,本文仅仅简单介绍了Kotlin写recyclerview的使用,而Kotlin提供了大量能使我们快速便捷地处理数据的函数和方法,更加简单运用代码 做数据处理 展示。

你可能感兴趣的:(kotlin列表简单用法,android,studio,kotlin)