AnvilとKotlinを使用して構築されたAndroidアプリケーションで作業していますが、現在、ユーザーが編集できるキーと値のペアのリストをレンダリングするRecyclerViewがあります。上記の例ではEditTextがfocus onTextChangeを失う
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
はProperty
は、フォーマットタイプ(文字列、日付に関する情報を提供するカスタムオブジェクトであるタイプPair<String, Property>
であり、次のようにこれらの編集内容を保存するためには、私はonTextChanged
リスナーを追加しました、番号など)、getPropertyValue
コールのシグニチャはgetPropertyValue(item: Pair<String, Property>): String
です。
何らかの理由で、テキストフィールドを入力するたびに変更が反映されずにフォーカスが失われます。 onTextChanged
リスナーは、実行時にonPropertyChange
によって生成された更新された値がコンソールに記録されるのを見ることができるため、確実に呼び出されています。
私はすでにhereのソリューションを無駄にしてみました。誰にも他の提案はありますか?これでしばらくの間これについた。