簡體   English   中英

在Kotlin中將id設置為EditText

[英]Set id to EditText in Kotlin

我從WordPress的REST API (json)獲取一些數據。

利用這些數據,我正在創建一些EditText並將API的值添加到EditText中。 我想設置一個ID,以便可以將我創建的兩個EditText彼此使用(計算:價格*數量)

但是,當我嘗試添加ID時,Android Studio表示它需要為一個int (與我們在XML中所做的不同,這是通常的用法嗎?)。

val input = EditText(this)
input.id = id //dynamically equals 5
val test = findViewById<EditText>(5) //5 as ID is not working...

我在這方面想念什么?

這是您的示例:

val editText = EditText(this)
editText.id = 5
val test = findViewById<EditText>(5)

這是行不通的,因為“ 5”不是有效的ID,因為ID必須為十六進制int,並且必須與其他視圖的ID不同。 因此,實現目標的更好方法是執行以下操作:

val editText = EditText(this)
editText.id = View.generateViewId()
val test = findViewById<EditText>(editText.id)

根據View.generateViewId()的文檔:

生成適合在setId(int)中使用的值。 該值不會與Aapt for R.id在生成時生成的ID值沖突。

但是我不知道為什么需要“測試” EditText,這樣您將擁有2個引用同一View的EditText對象。

暫無
暫無

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

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