在 kotlin Android Studio 中声明 ImageView
Declare ImageView in kotlin Android Studio
我想要的是这样做(在Java中):
public class MainActivity exteds AppCompatActivity{
ImageView logo;
@override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
logo = findViewById(R.id.logo);
}
将它带到 Kotlin 时出现错误:
请问要保留哪些选项才不会出现错误?
什么 class 是 TODO()
?
使用 lateinit
,稍后您可以初始化 属性。
lateinit var logo: ImageView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
logo = findViewById(R.id.logo)
}
如果你想在 kotlin 中使用这个 logo = findViewById(R.id.logo);
那么你不需要声明任何额外的变量你可以简单地使用 logo.setOnClickListener { }
或任何类似的 kotlin 将直接从你的 xml.(注意:- 这里 logo
是您的 imageView id)。
尽管如此,如果您想声明任何变量并稍后对其进行初始化,那么您可以使用 lateinit var logo: ImageView
或简单且可为空的变量,如 var logo: ImageView? = null
并在稍后对其进行初始化。
在 google 上有很多博客和 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 logo: ImageView
或者您可以将其初始化为 null,即 var logo: ImageView? = null
然后稍后您可以重新分配为 initented logo = findViewById(R.id.logo)
我想要的是这样做(在Java中):
public class MainActivity exteds AppCompatActivity{
ImageView logo;
@override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
logo = findViewById(R.id.logo);
}
将它带到 Kotlin 时出现错误:
请问要保留哪些选项才不会出现错误?
什么 class 是 TODO()
?
使用 lateinit
,稍后您可以初始化 属性。
lateinit var logo: ImageView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
logo = findViewById(R.id.logo)
}
如果你想在 kotlin 中使用这个 logo = findViewById(R.id.logo);
那么你不需要声明任何额外的变量你可以简单地使用 logo.setOnClickListener { }
或任何类似的 kotlin 将直接从你的 xml.(注意:- 这里 logo
是您的 imageView id)。
尽管如此,如果您想声明任何变量并稍后对其进行初始化,那么您可以使用 lateinit var logo: ImageView
或简单且可为空的变量,如 var logo: ImageView? = null
并在稍后对其进行初始化。
在 google 上有很多博客和 S.O 问题,您可以在其中找到有关 lateinit
和 nullable
变量的更多信息。
您可以初始化为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 logo: ImageView
或者您可以将其初始化为 null,即 var logo: ImageView? = null
然后稍后您可以重新分配为 initented logo = findViewById(R.id.logo)