「A」のテキストがankoで変更されたとき、「A」からテキストを取得するeditText「B」が欲しい
そこで、Rxandroidで2つの編集テキスト値を取得する関数を作成しました
val A = editText {
textChangedListener {
addTextinB(this@editText,B)
}
}
val B = editText {
hint = "should be changed "
}
fun addTextinB(v: EditText, v2:EditText) {
RxTextView.afterTextChangeEvents(v)
.debounce(50, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe { tvChangeEvent ->
v2.setText(tvChangeEvent.view().text)
}
しかし、実行すると、「get前にプロパティBを初期化する必要があります」と表示されます.BはaddTextinBを呼び出す前に初期化する必要があると思うので、変更しました。
var A by Delegates.notNull<EditText>()
var B by Delegates.notNull<EditText>()
override fun onCreateView(){
//anko Code here
...
A=editText {...}
B=editText {...}
}
しかしまた失敗。
A、B を nullable に変更すると、エラー メッセージは表示されませんが、addTextinB 関数が機能しません
最後にaddTextinBを変更しましたが、すべて問題ありません
fun addTextinB(v: EditText ) {
RxTextView.afterTextChangeEvents(v)
.debounce(50, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe { tvChangeEvent ->
B.setText(tvChangeEvent.view().text)
}
2つのパラメーターを取得する方法があるのだろうか。