i am new android and rxjava. i have been through many examples where we listen for events with rxbindings. such as this
RxView.clicks(b).subscribe(new Action1<Void>() {
@Override
public void call(Void aVoid) {
// do some work here
}
});
or
RxTextView.textChanges(name)
.subscribe(new Action1<String>() {
@Override
public void call(String value) {
// do some work with the updated text
}
});
now i am trying to do the same for android spinner. i want to listen for itemselected event. can anyone help?
The items in the Spinner come from the Adapter associated with this view.
See the Spinners guide.
To define the selection event handler for a spinner, implement the AdapterView.OnItemSelectedListener interface and the corresponding onItemSelected() callback method. For example, here's an implementation of the interface in an Activity:
Documentation: https://developer.android.com/guide/topics/ui/controls/spinner.html
RxBinding Documentation: https://github.com/JakeWharton/RxBinding/blob/31e02dcaca426e2ce440093b501e1a28fe1461f6/rxbinding/src/androidTest/java/com/jakewharton/rxbinding2/widget/RxAdapterViewTest.java
After searching for Spinner in GitHub-Repository, I found an example for Spinner:
RxAdapterView.itemSelections(spinner)
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe(integer -> {
Log.v("spinner", integer.toString());
});
来源:https://stackoverflow.com/questions/43446747/rxbindings-for-spinner