用于微调器的RxBindings?

use*_*310 12 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
                    }
                });
Run Code Online (Sandbox Code Playgroud)

要么

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

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

Han*_*rst 29

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());
    });
Run Code Online (Sandbox Code Playgroud)