Unlike ListView, the Android RecyclerView seems way too complicated to implement. Since there is no OnItemClickListener for RecyclerView child, I\'ve been trying to implemen
It seems you have already got an answer to your question but none of the answers here attempts to solve this problem using RxJava.
I myself is a big fan of RxJava and I never miss a chance to use it whenever possible.
Here is what I use,
public class ReactiveAdapter extends RecyclerView.Adapter {
String[] mDataset = { "Data", "In", "Adapter" };
private final PublishSubject onClickSubject = PublishSubject.create();
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
final String element = mDataset[position];
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClickSubject.onNext(element);
}
});
}
public Observable getPositionClicks(){
return onClickSubject.asObservable();
}
}
It exposes an Observable
to intercept the click events. You now have full control of what ever you want to do with your click events (remember RxJava Operators?).
Why don't you give this a try?