View
public class MainActivity extends AppCompatActivity implements Iview {
private RecyclerView mRv;
private Adapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRv = (RecyclerView) findViewById(rv);
mRv.setLayoutManager(new LinearLayoutManager(this));
presenter presenter = new presenter(this);
presenter.getData();
}
@Override
public void Show(Bean bean) {
adapter = new Adapter(this,bean.getData());
mRv.setAdapter(adapter);
}
}
Model
public class model implements Imodel{
@Override
public void getData(final onNetListener<Bean>onNetListener) {
ServiceApi serviceApi = RetrofitHelper.getServiceApi();
Observable<Bean> bean = serviceApi.getBean();
bean.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Bean>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Bean bean) {
onNetListener.onSuccess(bean);
}
});
}
}
Presenter
public class presenter {
private Imodel imodel;
private Iview iview;
public presenter(Iview iview) {
this.iview = iview;
imodel=new model();
}
public void getData(){
imodel.getData(new onNetListener<Bean>() {
@Override
public void onSuccess(Bean bean) {
iview.Show(bean);
}
});
}
}
适配器
public class Adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private Context context;
private List<Bean.DataBean>list;
public Adapter(Context context, List<Bean.DataBean> list) {
this.context = context;
this.list = list;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = View.inflate(context, R.layout.item, null);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
ViewHolder viewHolder = (ViewHolder) holder;
viewHolder.mTv.setText(list.get(position).getTitle());
}
@Override
public int getItemCount() {
return list.size();
}
static class ViewHolder extends RecyclerView.ViewHolder{
TextView mTv;
ViewHolder(View view) {
super(view);
mTv = (TextView) view.findViewById(R.id.tv);
}
}
}