订单内部布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<TextView
android:id="@+id/text_zhi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
/>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/iutter_item"
android:layout_width="match_parent"
android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>
</LinearLayout>
订单外部布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
xmlns:fresco="http://schemas.android.com/apk/res-auto"
android:layout_height="wrap_content">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/inner_iv"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginLeft="30dp"
fresco:placeholderImage="@mipmap/ic_launcher"
fresco:failureImage="@mipmap/ic_launcher_round"
fresco:roundedCornerRadius="30dp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:id="@+id/inner_name"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/inner_price"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:text="取消订单"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/fk"
/>
<Button
android:id="@+id/fk"
android:text="付款"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
外部适配器
public class FOrderAdapater extends BaseQuickAdapter<OrderBean.OrderListBean,BaseViewHolder> {
public FOrderAdapater(int layoutResId, @Nullable List<OrderBean.OrderListBean> data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, OrderBean.OrderListBean item) {
helper.setText(R.id.text_id,"订单编号"+item.getOrderId());
RecyclerView iutter_item = helper.getView(R.id.iutter_item);
iutter_item.setLayoutManager(new LinearLayoutManager(mContext,LinearLayoutManager.VERTICAL,false));
FOrderIntterAdapater fOrderIntterAdapater = new FOrderIntterAdapater(R.layout.f_inneradapater, item.getDetailList());
iutter_item.setAdapter(fOrderIntterAdapater);
}
}
内部适配器
public class FOrderIntterAdapater extends BaseQuickAdapter<OrderBean.OrderListBean.DetailListBean,BaseViewHolder> {
public FOrderIntterAdapater(int layoutResId, @Nullable List<OrderBean.OrderListBean.DetailListBean> data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, OrderBean.OrderListBean.DetailListBean item) {
SimpleDraweeView inner_iv = helper.getView(R.id.inner_iv);
String[] split = item.getCommodityPic().split(",");
for (int i = 0; i <split.length ; i++) {
String imagurl = split[0];
inner_iv.setImageURI(imagurl);
}
helper.setText(R.id.inner_name,item.getCommodityName());
helper.setText(R.id.inner_price,item.getCommodityPrice()+"");
}
}
契约类
public interface OrderContract {
// TODO: 2019/10/28 M
public interface OrderModel{
public void OrderData(String userId, String sessionId, int status, int page, int count, Context context,OrderCallBack orderCallBack);
public interface OrderCallBack{
public void Orderinit(OrderBean orderBean);
}
}
// TODO: 2019/10/28 V
public interface OrderView{
public void Orderyoyo(OrderBean orderBean);
}
// TODO: 2019/10/28 P
public interface OrderPersenter{
public void OrderAttach();
public void OrderDetach();
}
}
M层
public class OrderModel implements OrderContract.OrderModel {
@Override
public void OrderData(String userId, String sessionId, int status, int page, int count, Context context, final OrderCallBack orderCallBack) {
boolean b = HttpUtils.getUtil().NetWork(context);
if (b){
ApiService apiService = HttpUtils.getUtil().requestData(ApiService.class);
Observable<OrderBean> orderdata = apiService.orderdata(userId, sessionId, status, page, count);
orderdata.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(new Consumer<OrderBean>() {
@Override
public void accept(OrderBean orderBean) throws Exception {
orderCallBack.Orderinit(orderBean);
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
}
});
}else {
Toast.makeText(context, "无网", Toast.LENGTH_SHORT).show();
}
}
}
P层
public class OrderPersenter<V extends OrderContract.OrderView>extends BasePersenter<V> {
private final OrderModel model;
public OrderPersenter(){
model = new OrderModel();
}
public void getData(String userId, String sessionId, int status, int page, int count, Context context){
model.OrderData(userId, sessionId, status, page, count, context, new OrderContract.OrderModel.OrderCallBack() {
@Override
public void Orderinit(OrderBean orderBean) {
getView().Orderyoyo(orderBean);
}
});
}
}