一起来学Kotlin~我爱编程程序猿阵线联盟-汇总各类技术干货

0基础实现简单的Kotlin ListView

2017-07-11  本文已影响28人  阿策神奇

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

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

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

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

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

Project 中 build

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

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

效果

       GitHub Demo        

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

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

上一篇下一篇

猜你喜欢

热点阅读