Android 使用RxJava将ViewHolder绑定到RecycleServiceAdapter

Android 使用RxJava将ViewHolder绑定到RecycleServiceAdapter,android,rx-java,android-recyclerview,Android,Rx Java,Android Recyclerview,我使用RxJava将数据推送到ViewHolder,在ViewHolder内部,我使用RxJava填充文本视图 但有时文本视图仍然是空的。我认为这是一个时间问题,但我不知道如何解决它:-( 以下是来自我的适配器的重要方法: @覆盖 public DataEntityViewHolder onCreateViewHolder(视图组父级,int-viewType){ 最终LayoutFlater充气器=LayoutFlater.from(parent.getContext()); 最终视图=充气机

我使用RxJava将数据推送到ViewHolder,在ViewHolder内部,我使用RxJava填充文本视图

但有时文本视图仍然是空的。我认为这是一个时间问题,但我不知道如何解决它:-(

以下是来自我的适配器的重要方法:

@覆盖
public DataEntityViewHolder onCreateViewHolder(视图组父级,int-viewType){
最终LayoutFlater充气器=LayoutFlater.from(parent.getContext());
最终视图=充气机。充气(R.layout.cell_事件,父项,false);
返回新的DataEntityViewHolder(视图);
}
@凌驾
BindViewHolder上的公共无效(DataEntityViewHolder,int位置){
最终FacebookEvents.DataEntity项=mList.get(位置);
holder.cellDataSubject.onNext(项目);
}
这是我的取景器

公共类DataEntityViewHolder扩展了RecyclerView.ViewHolder{
@绑定(R.id.textView\单元\事件\名称)textView mTextViewName;
@绑定(R.id.textView\u cell\u event\u start)textView mTextViewStart;
@绑定(R.id.textView\u cell\u event\u end)textView mTextViewEnd;
@非空公共最终发布主题cellDataSubject;
公共DataEntityViewHolder(@NonNull final View itemView){
超级(项目视图);
ButterKnife.bind(这个,itemView);
cellDataSubject=PublishSubject.create();
bind();
}
私有无效绑定(){
cellDataSubject
.订阅(项目->{
mTextViewName.setText(item.getName());
mTextViewStart.setText(DateUtils.getRelativeTime(item.getStart_time());
mTextViewEnd.setText(DateUtils.getRelativeTime(item.getEnd_time());
});
}
}
我错过什么了吗

我应该使用
BehaviorSubject
而不是
PublishSubject
?但是,当我使用
BehaviorSubject
时,如何最好地重置它,如果视图被重用,我就看不到旧内容

我是否必须添加
.subscribeOn()


或者RxJava不是将数据从适配器推送到ViewHolder的最佳方式吗?

我看到您已经在使用Butterknife了。也许您也可以找到JakeWharton的有用信息。
他的可能就是你要找的。

我会试试看:-)