MainActivitypackage bwie.com.zhoukaomonisan.activity; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.PopupWindow; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; import java.util.List; import bwie.com.zhoukaomonisan.R; import bwie.com.zhoukaomonisan.fragment.FragmentDaiZhifu; import bwie.com.zhoukaomonisan.fragment.FragmentYiQuXiao; import bwie.com.zhoukaomonisan.fragment.FragmentYiZhiFu; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private ImageView iv; private TabLayout tab; private ViewPager vp; private List<String> list; private View contentView; private PopupWindow popupWindow; private View parent; private TextView tv1; private TextView tv2; private TextView tv3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = findViewById(R.id.iv); tab = findViewById(R.id.tab); vp = findViewById(R.id.vp); iv.setOnClickListener(this); contentView = View.inflate(MainActivity.this, R.layout.pop_layout, null); //父窗体 parent = View.inflate(MainActivity.this, R.layout.activity_main, null); //通过构造方法创建一个popupWindown popupWindow = new PopupWindow(contentView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); /** * 出现的问题,,,点击周围不消失,,点击返回键直接退出这个activity...里面的editText控件不能输入 */ popupWindow.setTouchable(true);//设置窗体可以触摸,,,默认就是true popupWindow.setFocusable(true);//让窗体获取到焦点...一般情况下窗体里面的控件都能获取到焦点,但是editText特殊 popupWindow.setOutsideTouchable(true);//设置窗体外部可以触摸 // popupWindow.setBackgroundDrawable(new BitmapDrawable());//设置背景 tv1 = contentView.findViewById(R.id.tv1); tv2 = contentView.findViewById(R.id.tv2); tv3 = contentView.findViewById(R.id.tv3); tv1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { vp.setCurrentItem(0); Toast.makeText(MainActivity.this, "点击了待支付!", Toast.LENGTH_SHORT).show(); popupWindow.dismiss(); } }); tv2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "点击了已支付!", Toast.LENGTH_SHORT).show(); vp.setCurrentItem(1); popupWindow.dismiss(); } }); tv3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { vp.setCurrentItem(2); Toast.makeText(MainActivity.this, "点击了已取消!", Toast.LENGTH_SHORT).show(); popupWindow.dismiss(); } }); list = new ArrayList<>(); list.add("待支付"); list.add("已支付"); list.add("已取消"); vp.setOffscreenPageLimit(list.size()); vp.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public CharSequence getPageTitle(int position) { return list.get(position); } @Override public int getCount() { return list.size(); } @Override public Fragment getItem(int position) { if (list.get(position) == "待支付") { //得到子条目 因为子条目是Fragment,所以要new一个Fragment FragmentDaiZhifu fragmentDaiZhifu = new FragmentDaiZhifu(); return fragmentDaiZhifu; } else if (list.get(position)== "已支付") { FragmentYiZhiFu fragmentYiZhiFu = new FragmentYiZhiFu(); return fragmentYiZhiFu; } else if (list.get(position) == "已取消") { FragmentYiQuXiao fragmentYiQuXiao = new FragmentYiQuXiao(); return fragmentYiQuXiao; } return null; } }); //将ViewPager关联到TabLayout上 tab.setupWithViewPager(vp); } @Override public void onClick(View view) { popupWindow.showAsDropDown(iv); } }<?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=".activity.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:layout_gravity="center" android:gravity="center" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_weight="1" android:gravity="center" android:layout_height="wrap_content" android:textSize="20sp" android:text="订单列表"/> <ImageView android:id="@+id/iv" android:layout_width="20dp" android:layout_height="20dp" android:layout_marginRight="5dp" android:src="@drawable/lv_icon"/> </LinearLayout> <android.support.design.widget.TabLayout android:id="@+id/tab" android:layout_width="match_parent" android:layout_height="55dp" app:tabIndicatorColor="@color/colorAccent" app:tabMode="fixed" app:tabSelectedTextColor="@color/colorPrimaryDark" app:tabTextColor="@color/colorPrimary" /> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>FragmentDaiZhifu
package bwie.com.zhoukaomonisan.fragment; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Toast; import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnLoadmoreListener; import com.scwang.smartrefresh.layout.listener.OnRefreshListener; import java.nio.file.OpenOption; import java.util.List; import bwie.com.zhoukaomonisan.view.IDaiZhifu; import bwie.com.zhoukaomonisan.R; import bwie.com.zhoukaomonisan.adapter.DaiZhiFuAdapter; import bwie.com.zhoukaomonisan.bean.DingDanLieBiaoBean; import bwie.com.zhoukaomonisan.presenter.DaiZhiFuPresenter; /** * Created by lenovo on 2018/1/14. */ public class FragmentDaiZhifu extends Fragment implements IDaiZhifu { private RecyclerView rv; private int page=1; 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 DaiZhiFuPresenter daiZhiFuPresenter; private DingDanLieBiaoBean dingDanLieBiaoBean; private DaiZhiFuAdapter daiZhiFuAdapter; private SmartRefreshLayout refreshLayout; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate(R.layout.fragment_dingdan,container,false); rv = view.findViewById(R.id.rv); refreshLayout = view.findViewById(R.id.refreshLayout); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); daiZhiFuPresenter = new DaiZhiFuPresenter(this); } @Override public void onResume() { super.onResume(); daiZhiFuPresenter.getData("https://www.zhaoapi.cn/product/getOrders",page); refreshLayout.setOnRefreshListener(new OnRefreshListener() { @Override public void onRefresh(RefreshLayout refreshlayout) { daiZhiFuPresenter.getData("https://www.zhaoapi.cn/product/getOrders",1); refreshlayout.finishRefresh(); } }); refreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() { @Override public void onLoadmore(RefreshLayout refreshlayout) { page++; //加载 daiZhiFuPresenter.getData("https://www.zhaoapi.cn/product/getOrders",page); refreshlayout.finishLoadmore(); } }); } @Override public void getSuccess(final DingDanLieBiaoBean dingDanLieBiaoBean) { this.dingDanLieBiaoBean=dingDanLieBiaoBean; getActivity().runOnUiThread(new Runnable() { @Override public void run() { List<DingDanLieBiaoBean.DataBean> data = dingDanLieBiaoBean.getData(); daiZhiFuAdapter = new DaiZhiFuAdapter(getActivity(),data,handler); rv.setAdapter(daiZhiFuAdapter); rv.setLayoutManager(new LinearLayoutManager(getActivity())); } }); } }<?xml version="1.0" encoding="utf-8"?> <com.scwang.smartrefresh.layout.SmartRefreshLayout android:id="@+id/refreshLayout" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v7.widget.RecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v7.widget.RecyclerView> </com.scwang.smartrefresh.layout.SmartRefreshLayout>FragmentYiQuXiao
package bwie.com.zhoukaomonisan.fragment; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Toast; import java.util.List; import bwie.com.zhoukaomonisan.view.IDaiZhifu; import bwie.com.zhoukaomonisan.R; import bwie.com.zhoukaomonisan.adapter.YiQuXiaoAdapter; import bwie.com.zhoukaomonisan.bean.DingDanLieBiaoBean; import bwie.com.zhoukaomonisan.presenter.DaiZhiFuPresenter; /** * Created by lenovo on 2018/1/14. */ public class FragmentYiQuXiao extends Fragment implements IDaiZhifu { private RecyclerView rv; private int page=1; 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 DaiZhiFuPresenter daiZhiFuPresenter; private DingDanLieBiaoBean dingDanLieBiaoBean; private YiQuXiaoAdapter yiQuXiaoAdapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate(R.layout.fragment_dingdan,container,false); rv = view.findViewById(R.id.rv); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); daiZhiFuPresenter = new DaiZhiFuPresenter(this); } @Override public void onResume() { super.onResume(); daiZhiFuPresenter.getData("https://www.zhaoapi.cn/product/getOrders",page); } @Override public void getSuccess(final DingDanLieBiaoBean dingDanLieBiaoBean) { this.dingDanLieBiaoBean=dingDanLieBiaoBean; getActivity().runOnUiThread(new Runnable() { @Override public void run() { List<DingDanLieBiaoBean.DataBean> data = dingDanLieBiaoBean.getData(); yiQuXiaoAdapter = new YiQuXiaoAdapter(getActivity(), data, handler); rv.setAdapter(yiQuXiaoAdapter); rv.setLayoutManager(new LinearLayoutManager(getActivity())); } }); } }FragmentYiZhiFu
package bwie.com.zhoukaomonisan.fragment; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Toast; import java.util.List; import bwie.com.zhoukaomonisan.view.IDaiZhifu; import bwie.com.zhoukaomonisan.R; import bwie.com.zhoukaomonisan.adapter.YiZhiFuAdapter; import bwie.com.zhoukaomonisan.bean.DingDanLieBiaoBean; import bwie.com.zhoukaomonisan.presenter.DaiZhiFuPresenter; /** * Created by lenovo on 2018/1/14. */ public class FragmentYiZhiFu extends Fragment implements IDaiZhifu { private RecyclerView rv; private int page=1; 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 DaiZhiFuPresenter daiZhiFuPresenter; private YiZhiFuAdapter yiZhiFuAdapter; private DingDanLieBiaoBean dingDanLieBiaoBean; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate(R.layout.fragment_dingdan,container,false); rv = view.findViewById(R.id.rv); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); daiZhiFuPresenter = new DaiZhiFuPresenter(this); } @Override public void onResume() { super.onResume(); daiZhiFuPresenter.getData("https://www.zhaoapi.cn/product/getOrders",page); } @Override public void getSuccess(final DingDanLieBiaoBean dingDanLieBiaoBean) { this.dingDanLieBiaoBean=dingDanLieBiaoBean; getActivity().runOnUiThread(new Runnable() { @Override public void run() { List<DingDanLieBiaoBean.DataBean> data = dingDanLieBiaoBean.getData(); yiZhiFuAdapter = new YiZhiFuAdapter(getActivity(), data, handler); rv.setAdapter(yiZhiFuAdapter); rv.setLayoutManager(new LinearLayoutManager(getActivity())); } }); } }DaiZhiFuPresenter
package bwie.com.zhoukaomonisan.presenter; import bwie.com.zhoukaomonisan.bean.DingDanLieBiaoBean; import bwie.com.zhoukaomonisan.view.IDaiZhifu; import bwie.com.zhoukaomonisan.model.DaiZhifuModel; /** * Created by lenovo on 2018/1/14. */ public class DaiZhiFuPresenter implements IDaiZhiFuPresenter { private final IDaiZhifu iDaiZhifu; private final DaiZhifuModel daiZhifuModel; public DaiZhiFuPresenter(IDaiZhifu iDaiZhifu) { this.iDaiZhifu =iDaiZhifu; daiZhifuModel = new DaiZhifuModel(this); } public void getData(String url,int page){ daiZhifuModel.getData(url,page); } @Override public void getSuccess(DingDanLieBiaoBean dingDanLieBiaoBean) { iDaiZhifu.getSuccess(dingDanLieBiaoBean); } }DaiZhifuModel
package bwie.com.zhoukaomonisan.model; import com.google.gson.Gson; import java.io.IOException; import java.util.HashMap; import java.util.Map; import bwie.com.zhoukaomonisan.bean.DingDanLieBiaoBean; import bwie.com.zhoukaomonisan.presenter.IDaiZhiFuPresenter; import bwie.com.zhoukaomonisan.util.OkHttp3Util; import okhttp3.Call; import okhttp3.Callback; import okhttp3.Response; /** * Created by lenovo on 2018/1/14. */ public class DaiZhifuModel { private IDaiZhiFuPresenter iDaiZhiFuPresenter; public DaiZhifuModel(IDaiZhiFuPresenter iDaiZhiFuPresenter) { this.iDaiZhiFuPresenter=iDaiZhiFuPresenter; } public void getData(String url,int page){ Map<String, String> params=new HashMap<>(); params.put("uid", "2797"); params.put("status", "0"); params.put("page", page + ""); OkHttp3Util.doPost(url, params, new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()){ String json = response.body().string(); DingDanLieBiaoBean dingDanLieBiaoBean = new Gson().fromJson(json, DingDanLieBiaoBean.class); iDaiZhiFuPresenter.getSuccess(dingDanLieBiaoBean); } } }); } }<?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"> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:layout_margin="10dp" android:orientation="horizontal"> <TextView android:id="@+id/text_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ddd"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" /> <TextView android:id="@+id/text_state" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ssss"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:layout_margin="10dp" android:orientation="horizontal"> <TextView android:id="@+id/text_price" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ff0000" android:text="ddd"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:layout_margin="10dp" android:orientation="horizontal"> <TextView android:id="@+id/text_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ddd"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" /> <Button android:id="@+id/bt" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="取消订单"/> </LinearLayout> </LinearLayout><?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"> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:layout_margin="10dp" android:orientation="horizontal"> <TextView android:id="@+id/text_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ddd"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" /> <TextView android:id="@+id/text_state" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ssss"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:layout_margin="10dp" android:orientation="horizontal"> <TextView android:id="@+id/text_price" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ff0000" android:text="ddd"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:layout_margin="10dp" android:orientation="horizontal"> <TextView android:id="@+id/text_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ddd"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" /> <Button android:id="@+id/bt" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="查看订单"/> </LinearLayout> </LinearLayout><?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"> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:layout_margin="10dp" android:orientation="horizontal"> <TextView android:id="@+id/text_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ddd"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" /> <TextView android:id="@+id/text_state" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ssss"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:layout_margin="10dp" android:orientation="horizontal"> <TextView android:id="@+id/text_price" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ff0000" android:text="ddd"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:layout_margin="10dp" android:orientation="horizontal"> <TextView android:id="@+id/text_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ddd"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" /> <Button android:id="@+id/bt" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="查看订单"/> </LinearLayout> </LinearLayout><?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" android:background="#ffffff"> <TextView android:id="@+id/tv1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dp" android:text="待支付"/> <TextView android:id="@+id/tv2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dp" android:text="已支付"/> <TextView android:id="@+id/tv3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dp" android:text="已取消"/> </LinearLayout>
订单
最新推荐文章于 2024-05-14 01:46:55 发布