[英]Coding standards for initializing views in android using Kotlin
使用 Kotlin 在 Android 中聲明和初始化視圖的官方編碼標准是什么? 如果是個案基礎,你會使用什么情況?
我見過這些方法:
//Kotlin extensions
onCreate
...
btn_xml_tag.setOnClickListener {
...
}
//More like java
private lateinit var button : Button
...
onCreate
...
button = findViewById(R.id.button)
button?.setOnClickListener{...}
//Lazy
private val button : Button by lazy {
findViewById(R.id.button_view) as Button
}
...
onCreate
...
button.setOnClickListener{...}
您應該嘗試Android 數據綁定。 這是標准的做法。 根據新的架構組件,您不需要從代碼中訪問視圖實例,而是直接在 XML 中綁定數據。 新的架構標准遵循 MVVM 架構。
關於您的問題,考慮到代碼的可讀性和長度,三個選項中最好的一個是使用 Kotlin 擴展。 也就是說,以下是最好的方法(盡管我會給視圖一個與 kotlin 命名標准匹配的 ID):
btnXmlTag.setOnClickListener {
...
}
您可以直接在 Activity 中使用 android DataBinding和擴充這些視圖,而無需初始化。
只需要在 gradle 文件中添加這些語法。
數據綁定{啟用=真}
並且在您的布局文件中,父級應該在布局標簽中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.