【问题标题】:kotlin View.OnClickListener? was expected [duplicate]kotlin View.OnClickListener?预计[重复]
【发布时间】:2020-11-16 18:15:41
【问题描述】:

我正在尝试让这个切换按钮工作 - 我想要做的就是在控制台中打印“你好”,但我收到了这个错误

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")
         )

    }

}

【问题讨论】:

标签: android kotlin


【解决方案1】:

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

选项 1:

 playButton.setOnClickListener{
          print("hello")
    }

选项 2:

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

})

选项 3:

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

【讨论】:

    【解决方案2】:

    要么

        playButton.setOnClickListener {
           print("hello")
        }
    

     playButton.setOnClickListener(object: View.OnClickListener {
            override fun onClick(v: View?) {
                TODO("Not yet implemented")
            }
    
        })
    

    【讨论】:

      【解决方案3】:

      你需要改用大括号,像这样:

      playButton.setOnClickListener{
             print("hello")
           }
      

      【讨论】:

        猜你喜欢
        • 2021-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-28
        相关资源
        最近更新 更多