RxJava结合最新的源代码

时间:2018-02-04 11:31:10

标签: android rx-java2

在我的Android应用中,我有2个editText和一个textView。我在我的应用程序中使用RxJava。我希望文本视图显示两个可编辑文本字段的组合。

我使用Observable.combineLates如下:

    EditText editText1 = findViewById(R.id.edit_text_1);
    EditText editText2 = findViewById(R.id.edit_text_2);


    TextView textView = findViewById(R.id.textView);

    Observable<String> s1 =  RxTextView.textChanges(editText1).map(CharSequence::toString);
    Observable<String> s2 =  RxTextView.textChanges(editText2).map(CharSequence::toString);

    Observable<String> source = Observable.combineLatest(s1,s2, (c1,c2)->c1+" "+c2);

    source.subscribe(textView::setText);

当我运行应用程序时,我看到文本视图以相反的顺序显示其内容,即源2中的文本出现在文本1的源文件之前。只有当我将s2与s2内部的swapLatest交换时,它才能按预期工作。 知道为什么吗?

0 个答案:

没有答案