我用Android Architecture Blueprints
学习MVP风格在此示例中,Adapter(RecyclerViewAdapter等)属于View。 片段表示视图在MVP和适配器中放置在视图中作为内部类。
在这种情况下,View和Adapter之间的通信是通过使用回调接口完成的。
public TasksAdapter(List<Task> tasks, TaskItemListener itemListener) {
setList(tasks);
mItemListener = itemListener;
}
我经常回调沟通有点困惑。
本质量保证中的许多反应表明了这一问题。
public class ReactiveAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
String[] mDataset = { "Data", "In", "Adapter" };
private final PublishSubject<String> 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<String> getPositionClicks(){
return onClickSubject.asObservable();
}
}
有一些方法。
哪种方式正确?我该怎么做?