首先Kotiln不需要android一样findViewById,可以直接用继承是:是冒号不是extends啦…
声明函数
var s: String? = "11" //这里使用var声明,让后?是可以为空 !!两个感叹号是一定不为空
val list: List<Any> = listOf<Any>(1, 2, 3, 5, 'a') //Any是可以放任意类型
var fragments: MutableList<Fragment> = ArrayList<Fragment>() //MutableList 是Kotlin提供的集合
var strList: MutableList<String> = ArrayList<String>()
for循环
for (index in 1..200) {
strList.add("武" + index.toString())
}
//index 相当于我们以前循环时候的 i ,1..200 就是从 1开始到200结束
//自减一个循环
for (index in 100 downTo 5 step 5) {
Log.d("##-", index.toString())
}
//downTo是自减的意思, step是步长值
//遍历一个数组,同时取出下标和元素:
val array = arrayOf("a", "b", "c")
for ((index, e) in array.withIndex()) {
Log.d("##", "下标" + index + "元素" + e)
}
`` //只去下标
val arr = arrayOf("a", "bv")
for (index in arr.indices) {
Log.d("##Down", "下标" + index.toString())
}
//只去元素,普通循环
val cc = arrayOf("b", "c")
for (index in cc) {
Log.d("##E", index.toString())
}
点击事件
//以前的点击事件是需要new View.OnClickListener,现在直接set就可以大大的减少了代码量
Hello.setOnClickListener {
//跳转界面
startActivity(Intent(MainActivity@ this, Main3Activity::class.java))
以前是MainActivity.class,现在是Main3Activity::class.java 两个::
}
这是我自己总结的一些Kotlin中的方法
inner 内部类声明
object: 相当于以前的new,也可以当单例使用
lateinit 延时初始化
fun 函数
vararg 函数入口为可变长参数
is 判断一个表达式是否是一个实例
in 在某个范围…之内
init 初始化代码块
data 数据类
sealed 密封类
copy 复制
@JvmOverloads 自动重载