遇到Kotlin使用中的问题,及解决办法
来源:互联网 发布:网络平面设计课程 编辑:程序博客网 时间:2024/05/17 02:15
1.使用Activity的this对象。
在Activity中经常要用到Context,在Java中这很容易,假如当前Activity是MainActivity。那么在这个Activity的任何地方,都可以使用MainActivity.this获得Activity的对象。
但是在使用Kotlin时,网上能够查到的代码都是这样获取Activity对象的
MainActivity@this
在一般情况下这样写是没问题的,但是今天我遇到的情况MainActivity@this这种方式失效了,通过使用Java转Kotlin工具,发现在我的使用场景下要使用
this@MainActivity
这种方式才能正确获取到Activity的对象,暂时还没有查到这两种写法的具体区别是什么,但是从效果上来看,更通用,不会出错的写法是第二种。
2.使用foreach的时候,默认it代表当前遍历到底元素。但是当foreach嵌套使用的时候,就会出现一个很尴尬的情况,里层和外层的foreach都能够使用it,而且他们代表的含义还不同,并且这个it我还没发现什么手段能改名字。。。。所以解决方法,会有嵌套使用的情况不要使用foreach。。。
3.在kotlin中,使用匿名类是可以写成Lamda表达式形式的,一般情况下这样做是没问题的,但是如果想要在回调方法中使用这个匿名类的指针,那么不要用Lamda表达式形式来写,要用object: 类名的形式来写,即便这个类只有一个方法。因为用Lamda表达式后,无法用this引用到这个匿名类对象。
4.在用Java开发时,内部类可以很轻易的调用父类的属性,但是在Kotlin里,如果内部类想调用父类的属性,那么这个类必须被显示的修饰成inner class,否则内部类是无法调用父类属性的
- 遇到Kotlin使用中的问题,及解决办法
- 使用asp.net MVC4中的Bundle遇到的问题及解决办法分享
- 使用Kotlin开发Android遇到的问题
- 使用 kotlin 开发 android 遇到的问题
- Jenkins使用中的一些问题及解决办法
- LoadRunner11-遇到问题及解决办法
- LoadRunner11-遇到问题及解决办法
- LoadRunner11-遇到问题及解决办法
- LoadRunner11-遇到问题及解决办法
- LoadRunner11-遇到问题及解决办法
- 遇到的问题及解决办法
- LoadRunner11-遇到问题及解决办法
- FileZilla 使用过程中可能遇到问题 及 解决办法
- ASIHTTPRequest使用过程中遇到的问题及解决办法
- 使用Orientation Changed Notification遇到的问题及解决办法
- ASIHTTPRequest使用过程中遇到的问题及解决办法
- ASIHTTPRequest使用过程中遇到的问题及解决办法
- ASIHTTPRequest使用过程中遇到的问题及解决办法
- 目录监控
- C++空间复杂度计算方法
- msxml3.dll 错误 '80072efd' ---asp 网站报错
- contos7安装vsftp部署FTP服务器
- 《Fluent Python》学习笔记 chpter7函数装饰器
- 遇到Kotlin使用中的问题,及解决办法
- 解决Maven打war包同一个jar有不同的日期版本号的问题
- 二维数组专题讲义
- 欢迎使用CSDN-markdown编辑器
- qt开发环境
- js设计模式与开发实践2
- ORA-01652:unable to extend temp segment by 128 in tablespace TEMPTS1
- 深入理解JAVA虚拟机读书笔记----调优案例分析与实战
- [我所理解的REST] 1.REST的起源