- 与java不同的是,原先
MainActivity.this
这种写法在kotlin中会报错。如下
正确的写法有许多,直接就写this
也可以识别到,如下:
Toast.makeText(MainActivity@this,"xxx1", Toast.LENGTH_SHORT).show()
Toast.makeText(this@MainActivity,"xxx2", Toast.LENGTH_SHORT).show()
var view: View = findViewById(R.id.tv)
view.setOnClickListener(View.OnClickListener {
Toast.makeText(this,"xxx3", Toast.LENGTH_SHORT).show()
})
与之前java中this的写法相比,除了MainActivity.this
不支持外,其他kotlin还是支持的。例如this
,this.name
。
关于kotlin中this关键字的其他用法,示例如下,看运行结果就能明白:
fun main() {
TestThis().test()
}
class TestThis {
var name: String = "xxx"
fun test() {
println(this.name)
fetchClassInfo(this)
fetchClassInfo(TestThis@this)
fetchClassInfo(this@TestThis)
println("apkname".add0())
}
fun fetchClassInfo(info:TestThis){
println(info.javaClass.simpleName)
}
fun String.add0():String{
return this + "0"
}
}
运行结果:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)