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) }
我不知道有办法得到两个参数。
- Android中的Kotlin协程的使用
- 在条件符合的情况下更改可观察 – RxJava2
- 在android studio中使用main函数运行单个kotlin类
- 计算器不工作
- 将RxJava代码正确转换为Kotlin
- Kotlin和惯用的方式来写,'如果不是空的,否则…'基于可变值
- 在Kotlin中开发的Android库模块导出到Java应用程序导致失败的解决方案:Lkotlin / jvm / internal / Intrinsics
- Kotlin,proguard,Android架构组件
- Gradle同步失败:无法GET'https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1.3-2/kotlin-gradle-plugin-1.1.3-2.pom'