簡體   English   中英

為什么XML ID名稱約定與Java約定不同?

[英]Why are the XML ID name conventions different from the Java one's?

我看了幾個Android項目。 為什么通常的做法是在XML ID上使用帶下划線的小寫字母?

在XML中:

@+id/name_text <!-- sometimes with "_view" suffix, sometimes without -->

在Java中:

TextView nameTextView = // ...

我會建議以下ID: @+id/nameTextView

我實際上就是這樣做的。 不利之處是什么?

如果XML ID和字段名稱遵循相同的模式,則數據綁定甚至可以做得更短(例如,使用ButterKnife)。 在這種情況下,我們可以在注釋中省略XML ID:

@BindView TextView nameTextView;

Java尚無此功能,但Kotlin: Kotlin Android擴展

如果這樣聲明您的視圖(在activity_main.xml中 ):

 <TextView
        android:id="@+id/hello"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Hello World, MyActivity"
        />

您可以在“活動”中像這樣使用它:

hello.setText("Hi!")

唯一要做的就是將其添加到您要使用視圖的Kotlin文件中:

import kotlinx.android.synthetic.main.activity_main.*

並且當然在項目本地的build.gradle文件中添加依賴項:

apply plugin: 'kotlin-android-extensions'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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