我正在使用Anvil和Kotlin構建的Android應用程序,目前我有一個RecyclerView呈現應該可由用戶編輯的鍵值對的列表。爲了節省這些修改,如下我已經添加一個onTextChanged
監聽器:EditText失去了重點TextTextChange
textInputLayout {
size(MATCH, WRAP)
/* ommitted style attributes */
editText {
size(MATCH, WRAP)
/* ommitted style attributes */
init {
text(getPropertyValue(item))
onTextChanged { onPropertyChange(item.first, it.toString()) }
}
}
}
在上述例子中,是item
類型Pair<String, Property>
其中Property
是自定義對象,提供有關格式類型(字符串,日期信息的,號碼等),並且getPropertyValue
呼叫具有簽名getPropertyValue(item: Pair<String, Property>): String
。
出於某種原因,每次輸入文本字段時都看不到變化,但失去了焦點。 onTextChanged
監聽器肯定會被調用,因爲當它執行時,我可以看到onPropertyChange
生成的更新值被記錄到控制檯。
我已經嘗試瞭解決方案概述here無濟於事。有沒有人有任何其他建議?現在已經停留了一段時間。