我有一个片段RecyclerView,项目点击使用RxJava2在解释处理这个苏答案 ,它在非片段工作的罚款。
private PublishSubject<Place> itemViewClickSubject = PublishSubject.create();
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.search_result_view, parent, false);
ViewHolder viewHolder = new ViewHolder(view);
// convert click events into reactive stream
RxView.clicks(view)
.takeUntil(RxView.detaches(parent))
// viewHolder.getPlace() is null until it get bound
.map(__ -> viewHolder.getPlace())
.subscribe(itemViewClickSubject);
return viewHolder;
}
当RecyclerView的片段,只为一次正常工作。 在项目点击片段替换为另一个片段。 回来后按,RecyclerView片段显示,但点击不工作了。
它的工作原理,如果我删除.takeUntil(RxView.detaches(parent))
线。 我认为这是需要打破RxView点击的强绑定与该RecyclerView时,不显示它(独立)。 我怎样才能解决这个问题? 我期待解决使用安装/拆卸的事件之一的问题,任何建议将是巨大的! 谢谢。