我正在尝试实施seekBar1.setOnSeekBarChangeListener()
在Java中,我只写了new
关键字,自动完成功能帮助我实现并知道必须实现哪个接口
科特林有没有这样的方法 或者我必须记住所有这些接口
我知道kotlin中没有新的关键字,但是我询问写对象自动完成后如何进行
答案 0 :(得分:1)
您要查找的快捷方式是Ctrl + Shift + Space
答案 1 :(得分:0)
在kotlin中,使用“ object”关键字实现接口。
seekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
}
override fun onStartTrackingTouch(seekBar: SeekBar?) {
}
override fun onStopTrackingTouch(seekBar: SeekBar?) {
}
})
答案 2 :(得分:0)
使用object
来实现一个接口。
// Set a SeekBar change listener
seek_bar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
override fun onProgressChanged(seekBar: SeekBar, i: Int, b: Boolean) {
// Do something
}
override fun onStartTrackingTouch(seekBar: SeekBar) {
// Do something
}
override fun onStopTrackingTouch(seekBar: SeekBar) {
// Do something
}
})
答案 3 :(得分:0)
kotlin中没有新的关键字,只是不要使用它。
您必须使用object :
覆盖匿名内部类
seekBar.setOnSeekBarChangeListener(object :SeekBar.OnSeekBarChangeListener{
override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
}
override fun onStartTrackingTouch(seekBar: SeekBar?) {
}
override fun onStopTrackingTouch(seekBar: SeekBar?) {
}
})
请参阅文档https://kotlinlang.org/docs/reference/object-declarations.html
答案 4 :(得分:0)
科特林不包含新关键字。所以是的,根据您的困境,痛苦就是脖子。但这确实为您提供了自动完成功能!
您要做的就是使特定接口的 object 成为对象,然后生成关于不从该接口实现方法的错误,然后使用命令Alt+Enter
您可以从该界面。
在您的情况下,只需键入:
seekBar1.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {})
哪个会在 object 关键字处向您显示编译错误。
如果您的界面具有单一方法实现,则可以直接使用 Sam-constructor实现。即在Kotlin中为点击侦听器提供直接的自动完成功能,例如:
view.setOnClickListener {
//This is the same click listener we used to implement in our Java code
}