我正在用kotlin编写代码。我想知道如何将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
答案 0 :(得分:1)
@John Joe想要说的是,您可以使用:
fab?.setOnClickListener {
//implement logic
}
无需传递this
,因为this
引用了setOnClickListener
方法的处理程序
所以,您也可以拥有它:
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