相关疑难解决方法(0)

Observable.combine在kotlin中的最新类型推断

我在我的项目中使用RxJava2,Kotlin-1.1和RxBindings.

我有一个简单的登录界面,默认情况下禁用"登录"按钮,我想只在用户名和密码的edittext字段不为空时启用该按钮.

LoginActivity.java

Observable<Boolean> isFormEnabled =
    Observable.combineLatest(mUserNameObservable, mPasswordObservable,
        (userName, password) -> userName.length() > 0 && password.length() > 0)
        .distinctUntilChanged();
Run Code Online (Sandbox Code Playgroud)

我无法将上述代码从Java翻译成Kotlin:

LoginActivity.kt

class LoginActivity : AppCompatActivity() {

  val disposable = CompositeDisposable()

  private var userNameObservable: Observable<CharSequence>? = null
  private var passwordObservable: Observable<CharSequence>? = null

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_login)
    initialize()
  }

  fun initialize() {
    userNameObservable = RxTextView.textChanges(username).skip(1)
        .debounce(500, TimeUnit.MILLISECONDS)
    passwordObservable = RxTextView.textChanges(password).skip(1)
        .debounce(500, TimeUnit.MILLISECONDS) 
  }

  private fun setSignInButtonEnableListener() {
    val isSignInEnabled: Observable<Boolean> = Observable.combineLatest(userNameObservable,
        passwordObservable,
        { u: CharSequence, p: CharSequence …
Run Code Online (Sandbox Code Playgroud)

android kotlin rx-binding rx-java2

22
推荐指数
2
解决办法
9064
查看次数

如何将RxJava combineLatest运算符与9个以上的observable一起使用

我正在使用RxJava,我想使用运算符组合12个不同的observable combineLatest.

我看到了一个函数原型,它接受了一个observable列表和一个实现,FuncN但我不知道如何做到这一点,我在实现该call方法时遇到了麻烦.

有人能告诉我一个例子吗?

java rx-java

12
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

java ×1

kotlin ×1

rx-binding ×1

rx-java ×1

rx-java2 ×1