用于微调器的RxBindings?

时间:2017-04-17 06:59:17

标签: android rx-java rx-binding

我是新的android和rxjava。我已经通过很多例子来讨论使用rxbindings的事件。比如这个

 RxView.clicks(b).subscribe(new Action1<Void>() {
                    @Override
                    public void call(Void aVoid) {
                        // do some work here
                    }
                });

RxTextView.textChanges(name)
            .subscribe(new Action1<String>() {
                @Override
                public void call(String value) {
                    // do some work with the updated text
                }
            });

现在我正在尝试为android微调器做同样的事情。我想听itemselected事件。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:27)

  

Spinner中的项目来自与此相关的适配器   图。

     

请参阅Spinners指南。

     

要为微调器定义选择事件处理程序,请实现   AdapterView.OnItemSelectedListener接口和相应的   onItemSelected()回调方法。例如,这是一个   在Activity中实现接口:

文档:https://developer.android.com/guide/topics/ui/controls/spinner.html

RxBinding文档: https://github.com/JakeWharton/RxBinding/blob/31e02dcaca426e2ce440093b501e1a28fe1461f6/rxbinding/src/androidTest/java/com/jakewharton/rxbinding2/widget/RxAdapterViewTest.java

在GitHub-Repository中搜索Spinner后,我找到了Spinner的一个例子:

RxAdapterView.itemSelections(spinner)
    .subscribeOn(AndroidSchedulers.mainThread())
    .subscribe(integer -> {
        Log.v("spinner", integer.toString());
    });