layout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.jcodecraeer.xrecyclerview.XRecyclerView android:id="@+id/xrecycler" android:layout_width="match_parent" android:layout_height="match_parent"></com.jcodecraeer.xrecyclerview.XRecyclerView> </LinearLayout>
代码:
public class DanFragment extends Fragment implements Hui_2,newinter2 { private Danpresenter danpresenter; private XRecyclerView xrecycler; private Xrecycleradapter xrecycleradapter; private Newpresenter newpresenter; private Xrecycleradapter2 xrecycleradapter2; private int getstatus; private int page=1; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.dan_layout, container, false); xrecycler = (XRecyclerView) view.findViewById(R.id.xrecycler); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); String title = getArguments().getString("title"); Log.d("tag","++++++++++++++++++"+title); getstatus = getstatus(title); if (getstatus ==3){ danpresenter = new Danpresenter(this); danpresenter.getdata("https://www.zhaoapi.cn/product/getOrders",page); }else{ newpresenter = new Newpresenter(this); newpresenter.getdata("https://www.zhaoapi.cn/product/getOrders", getstatus,page); } xrecycler.setPullRefreshEnabled(true); xrecycler.setLoadingMoreEnabled(true); xrecycler.setLoadingListener(new XRecyclerView.LoadingListener() { @Override public void onRefresh() { if (getstatus ==3){ danpresenter.getdata("https://www.zhaoapi.cn/product/getOrders",page); xrecycler.refreshComplete(); }else{ newpresenter.getdata("https://www.zhaoapi.cn/product/getOrders", getstatus,page); xrecycler.refreshComplete(); } } @Override public void onLoadMore() { page++; if (getstatus ==3){ danpresenter.getdata("https://www.zhaoapi.cn/product/getOrders",page); xrecycler.loadMoreComplete(); }else{ newpresenter.getdata("https://www.zhaoapi.cn/product/getOrders", getstatus,page); xrecycler.loadMoreComplete(); } } }); } private int getstatus(String title){ int a=3; if ("全部".equals(title)){ a=3; }else if ("待支付".equals(title)){ a=0; }else if ("已支付".equals(title)){ a=1; }else if ("已取消".equals(title)){ a=2; } return a; } @Override public void success(final DingdanBean dingdanBean) { getActivity().runOnUiThread(new Runnable() { @Override public void run() { List<DingdanBean.DataBean> data = dingdanBean.getData(); xrecycler.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false)); xrecycleradapter = new Xrecycleradapter(getActivity(), data,danpresenter,page); xrecycler.setAdapter(xrecycleradapter); } }); } @Override public void success(final NewBean newBean) { getActivity().runOnUiThread(new Runnable() { @Override public void run() { List<NewBean.DataBean> list = newBean.getData(); xrecycler.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false)); xrecycleradapter2 = new Xrecycleradapter2(getActivity(), list,newpresenter,page); xrecycler.setAdapter(xrecycleradapter2); } }); } }
子布局(两个一样):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <LinearLayout android:orientation="vertical" android:layout_weight="2" android:layout_width="0dp" android:layout_height="match_parent"> <TextView android:textSize="20sp" android:id="@+id/t1" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="0dp" /> <TextView android:layout_marginTop="20dp" android:textSize="20sp" android:textColor="#f00" android:id="@+id/t2" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="0dp" /> <TextView android:layout_marginTop="20dp" android:textSize="20sp" android:id="@+id/t3" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="0dp" /> </LinearLayout> <LinearLayout android:orientation="vertical" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent"> <TextView android:gravity="center" android:textSize="20sp" android:id="@+id/t4" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="0dp" /> <Button android:text="取消订单" android:layout_marginTop="20dp" android:textColor="#fff" android:gravity="center" android:background="#f00" android:textSize="20sp" android:id="@+id/t5" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="0dp" /> </LinearLayout> </LinearLayout>
一:适配器1:
public class Xrecycleradapter extends XRecyclerView.Adapter<Myholder> { private int page; private Danpresenter danpresenter; Context context; List<DingdanBean.DataBean> data; private int status; public Xrecycleradapter(Context context, List<DingdanBean.DataBean> data, Danpresenter danpresenter,int page) { this.context = context; this.data = data; this.danpresenter=danpresenter; this.page=page; } @Override public Myholder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.list_item_layout, parent, false); Myholder myholder =new Myholder(view); return myholder; } @Override public void onBindViewHolder(final Myholder holder, final int position) { holder.t1.setText(data.get(position).getTitle()); holder.t2.setText("价格:"+data.get(position).getPrice()); holder.t3.setText("创建时间:"+data.get(position).getCreatetime()); status = data.get(position).getStatus(); if (status ==0){ holder.t4.setText("待支付"); }else if (status ==1){ holder.t4.setText("已支付"); holder.t5.setText("查看订单"); }else if (status ==2){ holder.t4.setText("已取消"); holder.t5.setText("查看订单"); } holder.t5.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String s = holder.t5.getText().toString(); if ("取消订单".equals(s)){ AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle("是否取消?"); builder.setNegativeButton("取消",null); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Map<String, String> params = new HashMap<>(); params.put("uid","2792"); params.put("page", String.valueOf(page)); params.put("status","2"); params.put("orderid", String.valueOf(data.get(position).getOrderid())); Okhttputils.doPost("https://www.zhaoapi.cn/product/updateOrder", params, new Callback() { @Override public void onFailure(Call call, IOException e) { e.printStackTrace(); } @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()){ Log.d("iiii","++++++++++++++++++"+response.body().string()); danpresenter.getdata("https://www.zhaoapi.cn/product/getOrders",page); } } }); } }); builder.create().show(); } //https://www.zhaoapi.cn/product/updateOrder?uid=5112&page=1&status=2&orderid=4537 } }); } @Override public int getItemCount() { return data.size(); } }
适配器2:
public class Xrecycleradapter2 extends XRecyclerView.Adapter<Myholder2> { private final Newpresenter newpresenter; private final int page; Context context; List<NewBean.DataBean> list; public Xrecycleradapter2(Context context, List<NewBean.DataBean> list,Newpresenter newpresenter,int page) { this.context = context; this.list = list; this.newpresenter=newpresenter; this.page=page; } @Override public Myholder2 onCreateViewHolder(ViewGroup parent, int viewType) { View inflate = LayoutInflater.from(context).inflate(R.layout.list2_item_layout, parent, false); Myholder2 myholder2 = new Myholder2(inflate); return myholder2; } @Override public void onBindViewHolder(final Myholder2 holder, final int position) { holder.t1.setText(list.get(position).getTitle()); holder.t2.setText("价格:"+list.get(position).getPrice()); holder.t3.setText("创建时间:"+list.get(position).getCreatetime()); final int status = list.get(position).getStatus(); if (status==0){ holder.t4.setText("待支付"); }else if (status==1){ holder.t4.setText("已支付"); holder.t5.setText("查看订单"); }else if (status==2){ holder.t4.setText("已取消"); holder.t5.setText("查看订单"); } holder.t5.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String s = holder.t5.getText().toString(); if ("取消订单".equals(s)){ AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle("是否取消?"); builder.setNegativeButton("取消",null); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Map<String, String> params = new HashMap<>(); params.put("uid","2792"); params.put("page", String.valueOf(page)); params.put("status","1"); params.put("orderid", String.valueOf(list.get(position).getOrderid())); Okhttputils.doPost("https://www.zhaoapi.cn/product/updateOrder", params, new Callback() { @Override public void onFailure(Call call, IOException e) { e.printStackTrace(); } @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()){ Log.d("iiii","++++++++++++++++++"+response.body().string()); newpresenter.getdata("https://www.zhaoapi.cn/product/getOrders",status,page); } } }); } }); builder.create().show(); } } }); } @Override public int getItemCount() { return list.size(); } }