Java 在kotlin Android Studio中声明ImageView

Java 在kotlin Android Studio中声明ImageView,java,android,kotlin,imageview,Java,Android,Kotlin,Imageview,我想做的是这样做(在Java中): 当我把它带给Kotlin时,我得到一个错误: 请告诉我要保留哪些选项以避免出现错误 什么类是TODO()?使用lateinit,这将允许您稍后初始化属性 lateinit var logo: ImageView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.act

我想做的是这样做(在Java中):

当我把它带给Kotlin时,我得到一个错误:

请告诉我要保留哪些选项以避免出现错误


什么类是
TODO()

使用
lateinit
,这将允许您稍后初始化属性

lateinit var logo: ImageView

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    logo = findViewById(R.id.logo)
}

如果要使用此
logo=findviewbyd(R.id.logo)在kotlin中,则不需要声明任何额外变量,只需使用
logo.setOnClickListener{}
或任何类似的kotlin将直接从xml中导入它。(注意:-此处
logo
是您的imageView id)

尽管如此,如果您想声明任何变量并稍后对其进行初始化,则可以使用
lateinit var logo:ImageView
或简单且可为空的变量,如
var logo:ImageView?=空
,稍后将其初始化。
谷歌上有很多博客和S.O问题,你可以在那里找到更多关于
lateinit
nullable
变量的信息。是您可以参考的S.O问题之一。

您可以初始化为
null
,然后使用它

var logo: ImageView? = null
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.simple_layout)
        logo = findViewById(R.id.imageView)
    }

您不能重新分配val,因此我建议您将其设置为var。因为您以后也要初始化它,您需要声明一个lateinit var,即
lateinit var徽标:ImageView
,或者您可以将其初始化为null,即
var徽标:ImageView?=空,然后你可以重新指定为initented
logo=findViewById(R.id.logo)

我已经尝试将val更改为varPeople这里的人会更喜欢它,因为你添加了错误消息和代码,而不是图像链接。另外,你的Java代码无效这是什么语言?答案不是Java或Kotlin更新的。
var logo: ImageView? = null
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.simple_layout)
        logo = findViewById(R.id.imageView)
    }