如何将 fab.setOnclickListener(this) 转换为 kotlin.?
How to convert fab.setOnclickListener(this) into kotlin.?
我正在用 kotlin.I 编写代码,想知道如何将 fab.setOnclickListener(this)
转换为 kotlin 语言。?
class MainActivity: appCompatActivity(){
private var fab: FloatingActionButton? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
fab = findViewById(R.id.fab)
fab.setOnClickListener(this)
}
预期
转换成 kotlin
@John Joe 想说的是你可以使用:
fab?.setOnClickListener {
//implement logic
}
不需要传入this
因为this
指的是setOnClickListener
方法的handler
所以,你也可以拥有它:
MainActivity: AppCompatActivity(), View.OnClickListener{
override fun onClick(p0: View?) {
//handle logic for fab here
}
}
这样您就可以简单地使用:
fab?.setOnClickListener(this)
但是,第一个解决方案要简单得多。
旁注,因为 Kotlin 有合成导入,你可能不必使用 fab = findViewById(R.id.fab)
:https://kotlinlang.org/docs/tutorials/android-plugin.html
我正在用 kotlin.I 编写代码,想知道如何将 fab.setOnclickListener(this)
转换为 kotlin 语言。?
class MainActivity: appCompatActivity(){
private var fab: FloatingActionButton? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
fab = findViewById(R.id.fab)
fab.setOnClickListener(this)
}
预期
转换成 kotlin
@John Joe 想说的是你可以使用:
fab?.setOnClickListener {
//implement logic
}
不需要传入this
因为this
指的是setOnClickListener
方法的handler
所以,你也可以拥有它:
MainActivity: AppCompatActivity(), View.OnClickListener{
override fun onClick(p0: View?) {
//handle logic for fab here
}
}
这样您就可以简单地使用:
fab?.setOnClickListener(this)
但是,第一个解决方案要简单得多。
旁注,因为 Kotlin 有合成导入,你可能不必使用 fab = findViewById(R.id.fab)
:https://kotlinlang.org/docs/tutorials/android-plugin.html