写点什么

0 基础实现简单的 Kotlin ListView

作者:阿策小和尚
  • 2021 年 12 月 16 日
  • 本文字数:831 字

    阅读完需:约 3 分钟

通过谷歌大会上,Kotlin 被定义为了 Android 开发的官方使用语言之一,基于 JVM 编辑,以后很有可能会发展为主流的开发语言。应部门老大的要求,今后的开发都用 Kotlin,真真让小菜我吐一口血啊!

0 基础的我,做一个 0 技术含量的例子,熟悉一下基本的 Kotlin 语法,实现一个最基础的 ListView


  • Kotlin 的配置,网上的教程好详细,这里简单介绍一下


1.1 File->Setting->Plugins 中下载安装 Kotlin 的插件;


1.2 在 Project 空间的 build 中添加 Kotlin 的配置信息,分别在 buildscript 中添加依赖;


1.3 在子 Module 中的 build 中添加相应的依赖;


1.4 添加这个:apply plugin: 'kotlin-android-extensions' 时可省略掉 findViewById 的方式获取控件时,用 AnKo 方式使代码更简洁


  • ListView 的实现


2.1 布局 xml 跟以前的方式是一样的,包括基本的 ListView/HeaderView/FooterView 等;


2.2 实体类,如果不需要特别需求重写 get/set 方法可以直接简单用这种属性初始化即可;


class HomeLeftBean {
var leftName: String? = ""
var leftIcon: Int = 0
var leftIconName: String? = ""
}
复制代码


2.3 因为添加了 apply plugin: 'kotlin-android-extensions',所以控件可以直接根据 id 使用;


   myAdapter = KotlinAdapter(mDataList, this)
wave_lv.adapter = myAdapter
复制代码


Kotlin 中的获取控件方式可用:

var middletv: TextView = viewItem.findViewById(R.id.item_middle_tv) as TextView
复制代码


2.4 bean?.name 如果为 null,什么也不用做,bean!!.name 如果为 null,会报空指针,所以大家要根据情况使用;


2.5 列表 item 的单击点击事件中,如果添加了 HeaderViewposition 需要 -1 操作;


2.6 val 是不可变类型,个人理解类似于 final var 是可变类型;


2.7 控件的显隐性:button.visibility = View.GONE;


总之,说的很杂很乱,因为确实接触不多,Demo 很简单,确实比 Java 在代码的便捷性上高了很多。之后还会继续研究下去,理解不对的地方,期望大家能多给建议。谢谢大家!

发布于: 2 小时前阅读数: 6
用户头像

还未添加个人签名 2021.05.13 加入

Android / Flutter 小菜鸟~

评论

发布
暂无评论
0 基础实现简单的Kotlin ListView