anko值用rxAndroid初始化

我想editText'B'从'A'获取文本时,'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,并且everyting都可以

 fun addTextinB(v: EditText ) { RxTextView.afterTextChangeEvents(v) .debounce(50, TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribe { tvChangeEvent -> B.setText(tvChangeEvent.view().text) } 

我不知道有办法得到两个参数。