//activity_main
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.bwie.test.dingdan.MainActivity"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="订单列表" android:textSize="20dp" /> <ImageView android:id="@+id/image" android:layout_width="25dp" android:layout_height="25dp" android:layout_alignParentRight="true" android:layout_marginRight="20dp" android:onClick="pop" android:src="@drawable/lv_icon" /> </RelativeLayout> <android.support.design.widget.TabLayout android:id="@+id/tablayout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabGravity="fill" app:tabIndicatorColor="@color/colorAccent" app:tabMode="fixed" app:tabSelectedTextColor="#f00" app:tabTextColor="#C7C7C7"> </android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v4.view.ViewPager> </LinearLayout>
//daizhifu_layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.scwang.smartrefresh.layout.SmartRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/refreshLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <pl.droidsonroids.gif.GifImageView android:layout_width="match_parent" android:layout_height="160dp" android:scaleType="centerCrop" android:src="@drawable/aa" /> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_width="match_parent" android:layout_height="match_parent" /> </com.scwang.smartrefresh.layout.SmartRefreshLayout> </LinearLayout>
//daizhifu_vh_layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="订单列表测试标题" /> <TextView android:id="@+id/state" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:text="aaa" /> </RelativeLayout> <TextView android:id="@+id/price" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="价格 : 00.00" android:textColor="#f00" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="创建时间 : 2017-11-15 9:35" /> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:text="取消订单" /> </RelativeLayout> <TextView android:layout_width="match_parent" android:background="#f666" android:layout_height="1dp" /> </LinearLayout>
//yiquxiao_layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.scwang.smartrefresh.layout.SmartRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/refreshLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <pl.droidsonroids.gif.GifImageView android:layout_width="match_parent" android:layout_height="160dp" android:scaleType="centerCrop" android:src="@drawable/aa" /> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_width="match_parent" android:layout_height="match_parent" /> </com.scwang.smartrefresh.layout.SmartRefreshLayout> </LinearLayout>
//yiquxiao_vh_layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="订单列表测试标题" /> <TextView android:id="@+id/state" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:text="aaa" /> </RelativeLayout> <TextView android:id="@+id/price" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="价格 : 00.00" android:textColor="#f00" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="创建时间 : 2017-11-15 9:35" /> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:text="查看订单" /> </RelativeLayout> <TextView android:layout_width="match_parent" android:layout_height="1dp" android:background="#f666" /> </LinearLayout>
//yizhifu_layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.scwang.smartrefresh.layout.SmartRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/refreshLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <pl.droidsonroids.gif.GifImageView android:layout_width="match_parent" android:layout_height="160dp" android:scaleType="centerCrop" android:src="@drawable/aa" /> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_width="match_parent" android:layout_height="match_parent" /> </com.scwang.smartrefresh.layout.SmartRefreshLayout> </LinearLayout>
//yizhifu_vh_layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="订单列表测试标题" /> <TextView android:id="@+id/state" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:text="aaa" /> </RelativeLayout> <TextView android:id="@+id/price" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="价格 : 00.00" android:textColor="#f00" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="创建时间 : 2017-11-15 9:35" /> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:text="查看订单" /> </RelativeLayout> <TextView android:layout_width="match_parent" android:layout_height="1dp" android:background="#f666" /> </LinearLayout>
menu文件夹下//popup_menu
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/daizhifu" android:title="待支付" /> <item android:id="@+id/yizhifu" android:title="已支付" /> <item android:id="@+id/yiquxiao" android:title="已取消" /> </menu>
//MainActivity
public class MainActivity extends AppCompatActivity implements PopupMenu.OnMenuItemClickListener { private PopupMenu popupMenu; private TabLayout tablayout; private ViewPager view_pager; private ImageView image; private int itemId; private Yizhifu yizhifu; private Yiquxiao yiquxiao; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tablayout = (TabLayout) findViewById(R.id.tablayout); view_pager = (ViewPager) findViewById(R.id.view_pager); image = (ImageView) findViewById(R.id.image); //tablayout中的内容 final String[] titles = new String[]{"待支付", "已支付", "已取消"}; view_pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { private Daizhifu daizhifu1; private Daizhifu daizhifu; @Override public CharSequence getPageTitle(int position) { return titles[position]; } @Override public Fragment getItem(int position) { if (titles[position] == "待支付") { //得到子条目 因为子条目是Fragment,所以要new一个Fragment daizhifu1 = new Daizhifu(); return daizhifu1; } else if (titles[position] == "已支付") { yizhifu = new Yizhifu(); return yizhifu; } else if (titles[position] == "已取消") { yiquxiao = new Yiquxiao(); return yiquxiao; } return null; } @Override public int getCount() { return titles.length; } }); tablayout.setupWithViewPager(view_pager); } //当我点击右上角的图片的时候,弹窗框 public void pop(View view) { popupMenu = new PopupMenu(this, image); popupMenu.getMenuInflater().inflate(R.menu.popup_menu, popupMenu.getMenu()); popupMenu.show(); popupMenu.setOnMenuItemClickListener(this); } @Override public boolean onMenuItemClick(MenuItem menuItem) { itemId = menuItem.getItemId(); if (itemId == R.id.daizhifu) { view_pager.setCurrentItem(0); Toast.makeText(MainActivity.this, "点击了待支付!", Toast.LENGTH_SHORT).show(); } else if (itemId == R.id.yizhifu) { Toast.makeText(MainActivity.this, "点击了已支付!", Toast.LENGTH_SHORT).show(); view_pager.setCurrentItem(1); } else if (itemId == R.id.yiquxiao) { view_pager.setCurrentItem(2); Toast.makeText(MainActivity.this, "点击了已取消!", Toast.LENGTH_SHORT).show(); } return true; } }
fragment文件夹下//Daizhifu
public class Daizhifu extends Fragment implements FormDaizhifuV_I { private RecyclerView recyclerView; private From_P from_p; private int page = 1; private SmartRefreshLayout refreshLayout; @SuppressLint("HandlerLeak") Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 1) { String a = (String) msg.obj; daizhifuAdapter.notifyDataSetChanged(); Toast.makeText(getActivity(), "订单已取消" + a, Toast.LENGTH_SHORT).show(); } } }; private DaizhifuAdapter daizhifuAdapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = View.inflate(getActivity(), R.layout.daizhifu_layout, null); recyclerView = view.findViewById(R.id.recyclerview); refreshLayout = view.findViewById(R.id.refreshLayout); return view; } @Override public void onResume() { super.onResume(); //首先获取数据 MVP from_p = new From_P(this); from_p.getdata(My_api.Over_formApi, page); refreshLayout.setOnRefreshListener(new OnRefreshListener() { @Override public void onRefresh(RefreshLayout refreshlayout) { //刷新 from_p.getdata(My_api.Over_formApi, 1); refreshlayout.finishRefresh(); } }); refreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() { @Override public void onLoadmore(RefreshLayout refreshlayout) { page++; //加载 from_p.getdata(My_api.Over_formApi, page); refreshlayout.finishLoadmore(); } }); } @Override public void success(final String s) { getActivity().runOnUiThread(new Runnable() { @Override public void run() { //获取到数据,解析 Gson gson = new Gson(); Daizhifu_bean daizhifu_bean = gson.fromJson(s, Daizhifu_bean.class); final List<Daizhifu_bean.DataBean> data = daizhifu_bean.getData(); //设置适配器 和 布局 daizhifuAdapter = new DaizhifuAdapter(getActivity(), data, handler); recyclerView.setAdapter(daizhifuAdapter); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); } }); } //这个方法为的是解决MVP内存泄漏的问题 // protected原本是这个,不是public protected的意思是对所有用户开放 @Override public void onDestroy() { super.onDestroy(); //解除绑定 if (from_p != null) { from_p.destory(); } } }
//Yiquxiao
public class Yiquxiao extends Fragment implements FormYiquxiaoV_I { private RecyclerView recyclerView; private int page = 1; private SmartRefreshLayout refreshLayout; @SuppressLint("HandlerLeak") Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 1) { String a = (String) msg.obj; yiquxiaoAdapter.notifyDataSetChanged(); Toast.makeText(getActivity(), "订单已取消" + a, Toast.LENGTH_SHORT).show(); } } }; private Yiquxiao_P yiquxiao_p; private YiquxiaoAdapter yiquxiaoAdapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = View.inflate(getActivity(), R.layout.yiquxiao_layout, null); recyclerView = view.findViewById(R.id.recyclerview); refreshLayout = view.findViewById(R.id.refreshLayout); return view; } @Override public void onResume() { super.onResume(); //首先获取数据 MVP yiquxiao_p = new Yiquxiao_P(this); yiquxiao_p.getdata(My_api.Over_formApi, page); refreshLayout.setOnRefreshListener(new OnRefreshListener() { @Override public void onRefresh(RefreshLayout refreshlayout) { //刷新 yiquxiao_p.getdata(My_api.Over_formApi, 1); refreshlayout.finishRefresh(); } }); refreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() { @Override public void onLoadmore(RefreshLayout refreshlayout) { page++; //加载 yiquxiao_p.getdata(My_api.Over_formApi, page); refreshlayout.finishLoadmore(); } }); } @Override public void success(final String s) { getActivity().runOnUiThread(new Runnable() { @Override public void run() { //获取到数据,解析 Gson gson = new Gson(); Yiquxiao_bean yiquxiao_bean = gson.fromJson(s, Yiquxiao_bean.class); List<Yiquxiao_bean.DataBean> data = yiquxiao_bean.getData(); //设置适配器 和 布局 yiquxiaoAdapter = new YiquxiaoAdapter(getActivity(), data, handler); recyclerView.setAdapter(yiquxiaoAdapter); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); } }); } }
//Yizhifu
public class Yizhifu extends Fragment implements FormYizhifuV_I { private RecyclerView recyclerView; private From_P from_p; private int page = 1; private SmartRefreshLayout refreshLayout; @SuppressLint("HandlerLeak") Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 1) { String a = (String) msg.obj; yizhifuAdapter.notifyDataSetChanged(); Toast.makeText(getActivity(), "跳转,查看订单" + a, Toast.LENGTH_SHORT).show(); } } }; private YizhifuAdapter yizhifuAdapter; private Yizhifu_P yizhifu_p; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = View.inflate(getActivity(), R.layout.yizhifu_layout, null); recyclerView = view.findViewById(R.id.recyclerview); refreshLayout = view.findViewById(R.id.refreshLayout); return view; } @Override public void onResume() { super.onResume(); //获取数据 yizhifu_p = new Yizhifu_P(this); yizhifu_p.getdata(My_api.Over_formApi, page); refreshLayout.setOnRefreshListener(new OnRefreshListener() { @Override public void onRefresh(RefreshLayout refreshlayout) { //刷新 yizhifu_p.getdata(My_api.Over_formApi, 1); refreshlayout.finishRefresh(); } }); refreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() { @Override public void onLoadmore(RefreshLayout refreshlayout) { page++; //加载 yizhifu_p.getdata(My_api.Over_formApi, page); refreshlayout.finishLoadmore(); } }); } @Override public void success(final String s) { getActivity().runOnUiThread(new Runnable() { @Override public void run() { //获取到数据,解析 Gson gson = new Gson(); Yizhifu_bean yizhifu_bean = gson.fromJson(s, Yizhifu_bean.class); List<Yizhifu_bean.DataBean> data = yizhifu_bean.getData(); //设置适配器 和 布局 yizhifuAdapter = new YizhifuAdapter(getActivity(), data, handler); recyclerView.setAdapter(yizhifuAdapter); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); } }); } //这个方法为的是解决MVP内存泄漏的问题 // protected原本是这个,不是public protected的意思是对所有用户开放 @Override public void onDestroy() { super.onDestroy(); //解除绑定 if (from_p != null) { from_p.destory(); } } }
adapter文件夹下//DaizhifuAdapter
public class DaizhifuAdapter extends RecyclerView.Adapter<DaizhifuVH> { private Handler handler; private List<Daizhifu_bean.DataBean> list; private Context context; private DaizhifuVH daizhifuVH; public DaizhifuAdapter(Context context, List<Daizhifu_bean.DataBean> list, Handler handler) { this.context = context; this.list = list; this.handler = handler; } @Override public DaizhifuVH onCreateViewHolder(ViewGroup parent, int viewType) { //找到布局 View view = View.inflate(context, R.layout.daizhifu_vh_layout, null); daizhifuVH = new DaizhifuVH(view); return daizhifuVH; } @Override public void onBindViewHolder(DaizhifuVH holder, final int position) { //赋值 daizhifuVH.state.setText("待支付"); daizhifuVH.price.setText(list.get(position).getPrice() + ""); daizhifuVH.price.setText(list.get(position).getCreatetime()); daizhifuVH.btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { HashMap<String, String> map = new HashMap<>(); map.put("uid", "4123"); map.put("orderId", position + ""); map.put("status", "2"); OkHttp3Util.doPost(My_api.No_formAPI, map, new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()) { Message msg = new Message(); msg.what = 1; msg.obj = position+""; handler.sendMessage(msg); } } }); } }); } @Override public int getItemCount() { return list.size(); } }
//DaizhifuVH
public class DaizhifuVH extends RecyclerView.ViewHolder { public TextView state; public TextView price; public TextView time; public Button btn; public DaizhifuVH(View itemView) { super(itemView); //找到控件 state = itemView.findViewById(R.id.state); price = itemView.findViewById(R.id.price); time = itemView.findViewById(R.id.time); btn = itemView.findViewById(R.id.btn); } }
//YiquxiaoAdapter
public class YiquxiaoAdapter extends RecyclerView.Adapter<YiquxiaoVH> { private List<Yiquxiao_bean.DataBean> list; private Handler handler; private Context context; public YiquxiaoAdapter(Context context, List<Yiquxiao_bean.DataBean> list, Handler handler) { this.context = context; this.list = list; this.handler = handler; } @Override public YiquxiaoVH onCreateViewHolder(ViewGroup parent, int viewType) { //找到布局 View view = View.inflate(context, R.layout.yiquxiao_vh_layout, null); YiquxiaoVH yiquxiaoVH = new YiquxiaoVH(view); return yiquxiaoVH; } @Override public void onBindViewHolder(YiquxiaoVH holder, final int position) { //赋值 holder.state.setText("已取消"); holder.price.setText(list.get(position).getPrice() + ""); holder.price.setText(list.get(position).getCreatetime()); holder.btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Message msg = new Message(); msg.what = 1; msg.obj = position + ""; handler.sendMessage(msg); } }); } @Override public int getItemCount() { return list.size(); } }
//YiquxiaoVH
public class YiquxiaoVH extends RecyclerView.ViewHolder { public TextView state; public TextView price; public TextView time; public Button btn; public YiquxiaoVH(View itemView) { super(itemView); //找到控件 state = itemView.findViewById(R.id.state); price = itemView.findViewById(R.id.price); time = itemView.findViewById(R.id.time); btn = itemView.findViewById(R.id.btn); } }
//YizhifuAdapter
public class YizhifuAdapter extends RecyclerView.Adapter<YizhifuVH> { private final List<Yizhifu_bean.DataBean> list; private Handler handler; private Context context; public YizhifuAdapter(Context context, List<Yizhifu_bean.DataBean> data, Handler handler) { this.context = context; this.list = data; this.handler = handler; } @Override public YizhifuVH onCreateViewHolder(ViewGroup parent, int viewType) { //找到布局 View view = View.inflate(context, R.layout.yizhifu_vh_layout, null); YizhifuVH yizhifuVH = new YizhifuVH(view); return yizhifuVH; } @Override public void onBindViewHolder(YizhifuVH yizhifuVH, final int position) { //赋值 yizhifuVH.state.setText("已支付"); yizhifuVH.price.setText(list.get(position).getPrice() + ""); yizhifuVH.price.setText(list.get(position).getCreatetime()); yizhifuVH.btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Message msg = new Message(); msg.what = 1; msg.obj = position+""; handler.sendMessage(msg); } }); } @Override public int getItemCount() { return list.size(); } }
//YizhifuVH
public class YizhifuVH extends RecyclerView.ViewHolder { public TextView state; public TextView price; public TextView time; public Button btn; public YizhifuVH(View itemView) { super(itemView); //找到控件 state = itemView.findViewById(R.id.state); price = itemView.findViewById(R.id.price); time = itemView.findViewById(R.id.time); btn = itemView.findViewById(R.id.btn); } }
interF文件夹下//FormDaizhifuV_I
public interface FormDaizhifuV_I { void success(String s); }
//FormYiquxiaoV_I
public interface FormYiquxiaoV_I { void success(String s); }
//FormYizhifuV_I
public interface FormYizhifuV_I { void success(String s); }
model文件夹下//Form_M
public class Form_M { private FormP_I formP_i; public Form_M(FormP_I formP_i) { this.formP_i = formP_i; } public void getdata(String over_formApi, int page) { HashMap<String, String> map = new HashMap<>(); map.put("uid", "4123"); map.put("status", "0"); map.put("page", page + ""); OkHttp3Util.doPost(over_formApi, map, new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()) { String string = response.body().string(); //回调 formP_i.success(string); } } }); } }
//Yiquxiao_M
public class Yiquxiao_M { private YiquxiaoP_I yiquxiaoP_i; public Yiquxiao_M(YiquxiaoP_I yiquxiaoP_i) { this.yiquxiaoP_i = yiquxiaoP_i; } public void getdata(String over_formApi, int page) { HashMap<String, String> map = new HashMap<>(); map.put("uid", "4123"); map.put("status", "2"); map.put("page", page + ""); OkHttp3Util.doPost(over_formApi, map, new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()) { String string = response.body().string(); yiquxiaoP_i.success(string); } } }); } }
//Yizhifu_M
public class Yizhifu_M { private YizhifuP_I yizhifuP_i; public Yizhifu_M(YizhifuP_I yizhifuP_i) { this.yizhifuP_i = yizhifuP_i; } public void getdata(String over_formApi, int page) { HashMap<String, String> map = new HashMap<>(); map.put("uid", "4123"); map.put("status", "1"); map.put("page", page + ""); OkHttp3Util.doPost(over_formApi, map, new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()) { String string = response.body().string(); //回调 yizhifuP_i.success(string); } } }); } }
presenter文件夹下//From_P
public class From_P implements FormP_I { private final Form_M form_m; private FormDaizhifuV_I formDaizhifuV_i; public From_P(FormDaizhifuV_I formDaizhifuV_i) { form_m = new Form_M(this); this.formDaizhifuV_i = formDaizhifuV_i; } public void getdata(String over_formApi, int page) { form_m.getdata(over_formApi, page); } @Override public void success(String s) { //回调 formDaizhifuV_i.success(s); } //销毁 解决MVP内存泄漏问题 public void destory() { if (formDaizhifuV_i != null) { formDaizhifuV_i = null; } } }
//Yiquxiao_P
public class Yiquxiao_P implements YiquxiaoP_I { private Yiquxiao_M yiquxiao_m; private FormYiquxiaoV_I formYiquxiaoV_i; public Yiquxiao_P(FormYiquxiaoV_I formYiquxiaoV_i) { this.formYiquxiaoV_i = formYiquxiaoV_i; yiquxiao_m = new Yiquxiao_M(this); } public void getdata(String over_formApi, int page) { yiquxiao_m.getdata(over_formApi, page); } @Override public void success(String s) { formYiquxiaoV_i.success(s); } }
//Yizhifu_P
public class Yizhifu_P implements YizhifuP_I { private Yizhifu_M yizhifu_m; private FormYizhifuV_I formYizhifuV_i; public Yizhifu_P(FormYizhifuV_I formYizhifuV_i) { this.formYizhifuV_i = formYizhifuV_i; yizhifu_m = new Yizhifu_M(this); } public void getdata(String over_formApi, int page) { yizhifu_m.getdata(over_formApi, page); } @Override public void success(String s) { //给view formYizhifuV_i.success(s); } }
interF文件夹//FormP_I
public interface FormP_I { void success(String s); }
//YiquxiaoP_I
public interface YiquxiaoP_I { void success(String s); }
//YizhifuP_I
public interface YizhifuP_I { void success(String s); }
util文件夹下//My_api
public class My_api { //订单列表 public static String Over_formApi = "https://www.zhaoapi.cn/product/getOrders"; //取消订单 public static String No_formAPI = "https://www.zhaoapi.cn/product/updateOrder"; }
//jar包
//ok compile 'com.squareup.okhttp3:okhttp:3.6.0' compile 'com.squareup.okio:okio:1.11.0' //刷新 // compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.4-7' compile 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.4-7' //没有使用特殊Header,可以不加这行 //版本随意(必须) // compile 'com.android.support:design:25.3.1'//版本随意(非必须,引用可以解决无法预览问题) //1.0.4 出现问题可以回退到 1.0.3 compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.3' compile 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.3' //没有使用特殊Header,可以不加这行 //recyclerView compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.3' //一个开源gif控件 compile 'com.android.support.test:runner:0.5' compile 'com.android.support.test.espresso:espresso-core:2.2.2' compile files('libs/glide-3.7.0.jar') compile files('libs/gson-2.8.0.jar') compile 'com.android.support:recyclerview-v7:26.0.0-alpha1' compile 'com.android.support:design:26.0.0-alpha1'
//
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <application> <activity android:name=".MainActivity" android:theme="@style/Theme.AppCompat.NoActionBar"> </activity> </application>
//Daizhifu_bean
public class Daizhifu_bean { private String msg; private String code; private String page; private List<DataBean> data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getPage() { return page; } public void setPage(String page) { this.page = page; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public static class DataBean { private String createtime; private int orderid; private double price; private int status; private String title; private int uid; public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public int getOrderid() { return orderid; } public void setOrderid(int orderid) { this.orderid = orderid; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } } }
//Yiquxiao_bean
public class Yiquxiao_bean { private String msg; private String code; private String page; private List<DataBean> data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getPage() { return page; } public void setPage(String page) { this.page = page; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public static class DataBean { private String createtime; private int orderid; private double price; private int status; private String title; private int uid; public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public int getOrderid() { return orderid; } public void setOrderid(int orderid) { this.orderid = orderid; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } } }
//Yizhifu_bean
public class Yizhifu_bean { private String msg; private String code; private String page; private List<DataBean> data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getPage() { return page; } public void setPage(String page) { this.page = page; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public static class DataBean { private String createtime; private int orderid; private double price; private int status; private String title; private int uid; public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public int getOrderid() { return orderid; } public void setOrderid(int orderid) { this.orderid = orderid; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } } }