android - Getting the index of an element from an Observable -


i'm beginning learn rxjava. have array of views want set onclicklistener each of them using viewobservable.clicks(). implementation of onclicklistener call method depends on position of view in array (e.g.: populate(viewpositioninthearray)).

an imperative solution one:

for (int = 0; < views.length; i++) {     final int finali = i;     view[i].setonclicklistener(new onclicklistener() {         @override         public void onclick(view v) {             populate(finali);         }     }); } 

in order using rxjava, guess i'll need stream chaining. however, have no idea functions must use in elegant, frp way of doing it. suggestions?

thanks

here's stab @ it. ussualy use range operator when need maintain index through observable change

 observable.range(0,views.length)                .subscribe(new action1<integer>() {             @override             public void call(integer integer) {                 views[index].setonclicklistener(new view.onclicklistener() {                     @override                     public void onclick(view v) {                         populate(index);                     }                 });             }         }); 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -