2017-01-31 57 views
0

我正在使用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無濟於事。有沒有人有任何其他建議?現在已經停留了一段時間。

回答

0

看來這是Anvil中的一個錯誤,因爲使用Android的onTextChanged實現可以正常工作。關閉這個,我會在他們的回購中提出一個錯誤。