订单
来源:互联网 发布:什么软件替代迅雷 编辑:程序博客网 时间:2024/04/27 20:45
//model
public class Model2 implements ModelPort2{ PresenterPort1 po; public Model2(PresenterPort1 po) { this.po = po; } @Override public void update(String url) { NetWorkOkHttp.doGet(url, new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { if(response.isSuccessful()) { String s = response.body().string(); if (s != "" && s != null) { Gson gson = new Gson(); MyDeteAdd myDeteAdd = gson.fromJson(s, MyDeteAdd.class); po.update(myDeteAdd); } } } }); }}
//model接口
public interface ModelPort2 { public void update(String url);}
//presenter
public class Presenter1 implements PresenterPort1 { Main2 ma; ModelPort2 mo; public Presenter1(Main2 ma) { this.ma = ma; mo=new Model2(this); } public void getadd(String url){ mo.update(url); } @Override public void update(MyDeteAdd myDeteGouWu) { ma.gou(myDeteGouWu); }}
//接口
public interface PresenterPort1 { public void update(MyDeteAdd myDeteGouWu);}
//接口
public interface Main2 { public void gou(MyDeteAdd myDeteGouWu);}
//布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/dingtite" android:layout_width="wrap_content" android:layout_weight="1" android:layout_height="wrap_content" /> <TextView android:id="@+id/zhifu" android:layout_width="70dp" android:layout_height="wrap_content" /></LinearLayout> <TextView android:id="@+id/dingpric" android:layout_width="wrap_content" android:gravity="center_vertical" android:layout_height="50dp" android:textColor="#FF00"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/dingtime" android:layout_width="wrap_content" android:layout_weight="1" android:layout_height="40dp" /> <Button android:id="@+id/quxiao" android:layout_width="70dp" android:layout_height="40dp" android:text="取消订单"/> </LinearLayout></LinearLayout>
//适配器
public class DingDanRecy extends BaseAdapter implements Main2 { Context context; List<MySelectDingDan.DataBean> data; private final Presenter1 pr; public DingDanRecy(Context context, List<MySelectDingDan.DataBean> data) { this.context = context; this.data=data; pr = new Presenter1(this); } @Override public int getCount() { return data.size(); } @Override public Object getItem(int i) { return data.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(final int i, View view, ViewGroup viewGroup) { final Hodels holder; if(view==null){ holder=new Hodels(); view=View.inflate(context,R.layout.dingdanrecy,null); holder.bu = (Button) view.findViewById(R.id.quxiao); holder.dingtime = (TextView) view.findViewById(R.id.dingtime); holder.dingtite = (TextView) view.findViewById(R.id.dingtite); holder.zhifu = (TextView) view.findViewById(R.id.zhifu); holder.dingpric = (TextView)view.findViewById(R.id.dingpric); view.setTag(holder); }else{ holder=(Hodels)view.getTag(); } holder.dingtime.setText(data.get(i).getCreatetime()); holder.dingpric.setText(data.get(i).getPrice()+""); holder.dingtite.setText(data.get(i).getTitle()); int status = data.get(i).getStatus(); if(status==0){ holder.zhifu.setText("待支付"); }else if(status==1){ holder.zhifu.setText("已支付"); holder.bu.setText("查看订单"); }else{ holder.zhifu.setText("已取消"); holder.bu.setText("查看订单"); } holder.bu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { AlertDialog.Builder bu=new AlertDialog.Builder(context); bu.setTitle("确认"+holder.bu.getText()); bu.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int j) {if(data.get(i).getStatus()==0) { pr.getadd("https://www.zhaoapi.cn/product/updateOrder?uid=3907&status=1&orderId=" + data.get(i).getOrderid()); notifyDataSetChanged(); }else if(data.get(i).getStatus()==1){ pr.getadd("https://www.zhaoapi.cn/product/updateOrder?uid=3907&status=2&orderId=" + data.get(i).getOrderid()); notifyDataSetChanged(); }else{ notifyDataSetChanged(); } } }); bu.setNeutralButton("取消",null); bu.show(); notifyDataSetChanged(); } }); return view; } @Override public void gou(MyDeteAdd myDeteGouWu) { } class Hodels{ public TextView dingtite; public TextView zhifu; public TextView dingpric; public TextView dingtime; public Button bu;}}
//Viewpager适配器
/** * Created by dell on 2017/12/20. */public class ListPagerBase extends FragmentPagerAdapter { List<String> li; List<Fragment> frs; public ListPagerBase(FragmentManager fm,List<Fragment> frs, List<String> li) { super(fm); this.li=li; this.frs=frs; } @Override public Fragment getItem(int position) { return frs.get(position); } @Override public int getCount() { return frs.size(); } @Override public CharSequence getPageTitle(int position) { return li.get(position); }}
/**定单界面 * Created by dell on 2017/12/19. */public class FragmentDingDan extends Fragment{ private View view; private RecyclerView re; private Presenter pr; private TabLayout tab; private ViewPager pv; private List<String> li; private List<Fragment> frs; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragmentdingdan, container, false); tab= (TabLayout) view.findViewById(R.id.tab); pv = (ViewPager) view.findViewById(R.id.pv); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); li = new ArrayList<>(); frs = new ArrayList<>(); li.add("全部"); li.add("待支付"); li.add("已支付"); li.add("已取消"); for(int i = 0; i< li.size(); i++){ tab.addTab(tab.newTab().setText( li.get(i))); } FragmentDZF de=new FragmentDZF(); FragmentQB qx=new FragmentQB(); FragmentWZF w=new FragmentWZF(); FragmentYZH y=new FragmentYZH(); frs.add(qx); frs.add(de); frs.add(w); frs.add(y); FragmentManager childFragmentManager = getChildFragmentManager(); ListPagerBase pa=new ListPagerBase(childFragmentManager, frs, li); pv.setAdapter(pa); tab.setupWithViewPager(pv); tab.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { String s = tab.getText().toString(); Toast.makeText(getActivity(),"---"+s,Toast.LENGTH_SHORT).show(); for (int i = 0; i< li.size(); i++){ if(s.equals(li.get(i))){ pv.setCurrentItem(i); } } } @Override public void onTabUnselected(TabLayout.Tab tab) { } @Override public void onTabReselected(TabLayout.Tab tab) { } }); }}
/** * Created by dell on 2017/12/20. */public class FragmentQB extends Fragment implements Main1 { private View view; private Presenter pr;//自定义ListView控件使用PullToRefreshScrollView需计算listView的高度 private ListView1 re; List<MySelectDingDan.DataBean> data=new ArrayList<>(); private DingDanRecy din; private PullToRefreshScrollView pu; int pid=1; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragmentqb, container, false); re = (ListView1) view.findViewById(R.id.qdinglv); pu = (PullToRefreshScrollView) view.findViewById(R.id.pull); pr = new Presenter(this); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); pr.getselectdingdan("https://www.zhaoapi.cn/product/getOrders?uid=3907"); pu.setMode(PullToRefreshBase.Mode.BOTH);//设置刷新 ILoadingLayout loadingLayoutProxy = pu.getLoadingLayoutProxy(true, false); loadingLayoutProxy.setPullLabel("下拉刷新"); loadingLayoutProxy.setRefreshingLabel("正在拉"); loadingLayoutProxy.setReleaseLabel("放开刷新"); ILoadingLayout load = pu.getLoadingLayoutProxy(false, true); load.setPullLabel("上拉刷新"); load.setRefreshingLabel("正在加载"); load.setReleaseLabel("放开刷新"); } @Override public void gou(MyDeteGouWu myDeteGouWu) { } @Override public void add(MyDeteAdd myDeteAdd) { } @Override public void dingDan(MyDingDan myDeteAdd) { } @Override public void selectDingDan(final MySelectDingDan mySelectDingDan) { getActivity().runOnUiThread(new Runnable() { @Override public void run() { data.addAll( mySelectDingDan.getData()); Toast.makeText(getActivity(),""+data.get(5).getTitle(),Toast.LENGTH_LONG).show(); if(din==null){ din= new DingDanRecy(getActivity(),data); re.setAdapter(din); }else{ din.notifyDataSetChanged(); } pu.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) { data.clear(); pr.getselectdingdan("https://www.zhaoapi.cn/product/getOrders?uid=3907&page=1"); pu.onRefreshComplete(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) { pid++; pr.getselectdingdan("https://www.zhaoapi.cn/product/getOrders?uid=3907&page="+pid); pu.onRefreshComplete(); } }); } }); }}
//自定义适配器
public class ListView1 extends ListView { public ListView1(Context context) { super(context); } public ListView1(Context context, AttributeSet attrs) { super(context, attrs); } public ListView1(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {//计算ListView的高度 int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); }}
//布局文件
<com.handmark.pulltorefresh.library.PullToRefreshScrollView xmlns:ptr="http://schemas.android.com/apk/res-auto" android:id="@+id/pull" android:layout_width="match_parent" android:layout_height="match_parent" ptr:ptrAnimationStyle="flip" ptr:ptrDrawable="@drawable/default_ptr_flip" ptr:ptrHeaderBackground="#383838" ptr:ptrHeaderTextColor="#FFFFFF"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <com.example.dell.wanghao2011.View.ListView1 android:id="@+id/qdinglv" android:layout_width="match_parent" android:layout_height="wrap_content"> </com.example.dell.wanghao2011.View.ListView1> </LinearLayout></com.handmark.pulltorefresh.library.PullToRefreshScrollView>
阅读全文
0 0
- 订单
- 订单
- 订单
- 订单
- 订单
- 订单
- 订单
- 订单
- 订单
- 订单
- 订单
- 订单
- 客户订单 生产订单
- 订单程序
- 耐用品订单
- 订单状态
- 订单评论:
- 内部订单
- Java设计模式之命令模式
- UIStatusBarStyleLightContent
- #pragma once与#ifndef的区别?
- Unity贪吃蛇类游戏重要方法和功能的实现
- Android ClassLoader之getSystemResourceAsStream源码分析
- 订单
- List转数组 数组转List
- 【章节1】MySQL基础
- 购物车主要逻辑
- 原生JS控制多个滚动条同步跟随滚动
- KBEngin-登陆验证扩展onReuqestLogin
- python爬虫scrapy框架,对于智联招聘职位进行抓取
- 前端分页demo
- 实现简单购物车