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
Post a Comment