Android kotlin View.OnClickListener?预料之中

Android kotlin View.OnClickListener?预料之中,android,kotlin,Android,Kotlin,我试图让这个切换按钮工作-我想做的就是在控制台中打印“hello”,但我得到了这个错误 Type mismatch: inferred type is Unit but View.OnClickListener? was expected 包com.radiomedia.drn1 import android.os.Bundle import android.view.View import androidx.appcompat.app.AppCompatActivity import kot

我试图让这个切换按钮工作-我想做的就是在控制台中打印“hello”,但我得到了这个错误

Type mismatch: inferred type is Unit but View.OnClickListener? was expected
包com.radiomedia.drn1

import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*


class MainActivity : AppCompatActivity(){

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        playButton.setOnClickListener(
           print("hello")
         )

    }

}

setOnClickListener()
方法更改为以下任一选项:

选项1:

 playButton.setOnClickListener{
          print("hello")
    }
playButton.setOnClickListener(object : View.OnClickListener {
    override fun onClick(view: View?) {
        print("hello")
    }

})
playButton.setOnClickListener(View.OnClickListener { view ->
    print("hello")
})
选项2:

 playButton.setOnClickListener{
          print("hello")
    }
playButton.setOnClickListener(object : View.OnClickListener {
    override fun onClick(view: View?) {
        print("hello")
    }

})
playButton.setOnClickListener(View.OnClickListener { view ->
    print("hello")
})
选项3:

 playButton.setOnClickListener{
          print("hello")
    }
playButton.setOnClickListener(object : View.OnClickListener {
    override fun onClick(view: View?) {
        print("hello")
    }

})
playButton.setOnClickListener(View.OnClickListener { view ->
    print("hello")
})
或者


您需要使用大括号,如下所示:

playButton.setOnClickListener{
       print("hello")
     }

这回答了你的问题吗?