簡體   English   中英

使用 Kotlin 在 android 中初始化視圖的編碼標准

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM