当'A'文本用anko改变时,我希望editText'B'从'A'获取文本
所以我让函数用 Rxandroid 获取两个编辑文本值
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)
}
但是当我运行时,我看到“属性 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 可以为空时,没有错误消息但 addTextinB 函数不起作用
最后我改变了addTextinB,一切都很好
fun addTextinB(v: EditText ) {
RxTextView.afterTextChangeEvents(v)
.debounce(50, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe { tvChangeEvent ->
B.setText(tvChangeEvent.view().text)
}
我想知道有没有办法获得两个参数。