kotlin学习记录

xiaoxiao2021-02-27  267

初步使用kotlin,记录一些和java有些差异的地方,以便以后查看。

首先是List集合的问题,在kotlin中,直接用var list List = List() 或者var mList: List = ArrayList()在后面的使用中,发现没有添加元素的方法的, 这使用的是var mList ArrayList = ArrayList(),之后就可以添加元素了。

然后就是for循环的差异,java中直接给定一个数字大小,进行比较久行了, 而kotlin中是要用

for (i in 0..5) { }

方式去循环,而且i也不用去指定或者实例出来,直接由0..5控制起始值和终止大小

还有内部类也有些差异,是需要用 inner申明一下这是内部类,然后要获取主类,最后在调用获取到的主类中的方法在内部类中使用

//创建一个提交信息的activity,我需要在Adapter中减少这个mList的数量然后更新adapter class InputUserInfoActivity : BaseActivity() { var mList: ArrayList<String> = ArrayList<String>(); } //首先我就要通过inner 声明这个MyAdapter是一个内部类,并且获取到外部的类 //之前我认为声明为内部类之后,还需要innerMainActivity()这种方法去调用Activity中的属性, //之后再Fragment中使用的时候,发现,只要声明为了内部类,好像就是直接可以使用里面的属性了,下面的这种 //写法就是多余的了 inner class MyAdapter(list: MutableList<String>, context: Context) : MyBaseAdapter<String>(list, context) { fun innerMainActivity(): InputUserInfoActivity { var t = this@InputUserInfoActivity //获取外部类的成员变量 return t } } //在Adaoter的控件点击事件中,就通过获取到外部类成员变量的方式进行操作 iv_del.setOnClickListener { innerMainActivity().mList.removeAt(position) mAdapter!!.notifyDataSetChanged() }

其他的一些书写方式结合java起来感觉很容易,这几个是觉得是挺有趣的变动先记录一下。

转载请注明原文地址: https://www.6miu.com/read-8381.html

最新回复(0)