0基础实现简单的Kotlin ListView

简介:         今年的谷歌大会上,Kotlin 被定义为了 Android 开发的官方使用语言之一,基于 JVM 编辑,以后很有可能会发展为主流的开发语言。

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

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

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

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

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

1240
Project 中 build

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


1240
Module 中 build


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

2.  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 的单击点击事件中,如果添加了 HeaderView,position 需要 -1 操作

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

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


1240
效果

       GitHub Demo         

        总之,说的很杂很乱,因为确实接触不多,Demo很简单,确实比Java在代码的便捷性上高了很多。

        之后还会继续研究下去,理解不对的地方,期望大家能多给建议。谢谢大家!

目录
相关文章
|
Kotlin
Kotlin | 实现数据类(data)深拷贝
在Kotlin中,data数据类默认的copy方法实现的是浅拷贝,但我们有时候需要实现深拷贝。 在kotlin中,实现就比较容易了。
600 0
Kotlin | 实现数据类(data)深拷贝
|
设计模式 Kotlin
Kotlin设计模式实现之装饰者模式(Decorator)
装饰者模式(Decorator):在不改变对象自身的基础上,动态地给一个对象添加一些额外的职责。与继承相比,装饰者是一种更轻便灵活的做法。若要扩展功能,装饰者提供了比继承更有弹性的替代方法。
170 0
Kotlin设计模式实现之装饰者模式(Decorator)
|
设计模式 算法 Kotlin
Kotlin设计模式实现之策略模式
Kotlin设计模式实现之策略模式
165 0
Kotlin设计模式实现之策略模式
|
存储 Kotlin
数据结构 | 二分搜索树及它的各种操作(kotlin实现)
在开始之前,应该先讲一下什么是二叉树。
107 0
数据结构 | 二分搜索树及它的各种操作(kotlin实现)
|
存储 C语言 Kotlin
重学数据结构-使用Kotlin实现链表及其他扩展
很简单,链表不像数组那样,不需要我们主动扩容,我们只需要类似递归一样,一层套一层即可,即node1持有node2的引用,node2持有node3…,相应的每次插入我们只需要更改头结点即可,当node-x持有的下一个node引用为null时,我们也可以判定,此时为链表尾节点。
237 0
|
算法 Kotlin
数据结构 | 使用Kotlin实现栈与队列
Last In First Out(LIFO) 后进先出 栈也是一种线性数据结构
615 0
|
Java Android开发 Kotlin
安卓一行代码实现避免按钮重复点击(AOP)java和kotlin都能使用
安卓一行代码实现避免按钮重复点击(AOP)java和kotlin都能使用
781 0
|
存储 Kotlin
用kotlin来实现一个打方块的小游戏
用kotlin来实现一个打方块的小游戏
93 0
用kotlin来实现一个打方块的小游戏
|
Kotlin
用kotlin来实现一个饼图
用kotlin来实现一个饼图
113 0
用kotlin来实现一个饼图
|
计算机视觉 Kotlin
OpenCV + Kotlin 实现 USB 摄像头(相机)实时画面、拍照
OpenCV + Kotlin 实现 USB 摄像头(相机)实时画面、拍照
434 0