android - 我的订单页面【仿】京东App
16lz
2021-12-04
xml
activity_order
<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:id="@+id/ll" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/tvAll" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1" android:gravity="center" android:text="全部" /> <TextView android:id="@+id/tvWait" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1" android:gravity="center" android:text="待支付" /> LinearLayout> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="match_parent">android.support.v4.view.ViewPager>LinearLayout>
- order_item
"http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginLeft="19dp" android:layout_marginStart="19dp" android:layout_marginTop="21dp" android:text="TextView" /> id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/textView" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_marginEnd="31dp" android:layout_marginRight="31dp" android:text="TextView" /> id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView" android:layout_alignStart="@+id/textView" android:layout_below="@+id/textView" android:layout_marginTop="27dp" android:text="TextView" /> id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/textView3" android:layout_alignRight="@+id/textView3" android:layout_below="@+id/textView3" android:layout_marginTop="24dp" android:text="TextView" /> id="@+id/textView5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/textView4" android:layout_alignEnd="@+id/textView2" android:layout_alignRight="@+id/textView2" android:text="TextView" />
- fragment_all
"http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> .support.v7.widget.RecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="match_parent">.support.v7.widget.RecyclerView>
view层
- OrderActivity
public class OrderActivity extends AppCompatActivity { private TextView mTvAll; private TextView mTvWait; private LinearLayout mLl; private ViewPager mVp; private List list = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_order); initView(); list.add(new AllFragment()); list.add(new WaitFragment()); mVp.setAdapter(new MyAdapter(getSupportFragmentManager())); } private void initView() { mTvAll = (TextView) findViewById(R.id.tvAll); mTvWait = (TextView) findViewById(R.id.tvWait); mLl = (LinearLayout) findViewById(R.id.ll); mVp = (ViewPager) findViewById(R.id.vp); } class MyAdapter extends FragmentPagerAdapter { public MyAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return list.get(position); } @Override public int getCount() { return list.size(); } }}
fragment层
- AllFragment
public class AllFragment extends Fragment { private RecyclerView rv; @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_all, null); rv = view.findViewById(R.id.rv); rv.setLayoutManager(new LinearLayoutManager(getActivity())); String url = "https://www.zhaoapi.cn/product/getOrders?uid=71"; OkHttpUtils.getOkHttpUtils().doGet(url, new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { String string = response.body().string(); final OrderBean orderBean = new Gson().fromJson(string, OrderBean.class); getActivity().runOnUiThread(new Runnable() { @Override public void run() { RvAllAdapter adapter = new RvAllAdapter(getContext(), orderBean.getData()); rv.setAdapter(adapter); } }); } }); return view; }
- WaitFragment
public class WaitFragment extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return super.onCreateView(inflater, container, savedInstanceState); }}
adapter层
- RvAllAdapter
public class RvAllAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List list; public RvAllAdapter(Context context, List list) { this.context = context; this.list = list; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.order_item, parent, false); return new MyViewHolder(view); } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { MyViewHolder myViewHolder = (MyViewHolder) holder; OrderBean.DataBean dataBean = list.get(position); myViewHolder.tvTitle.setText(dataBean.getTitle()); int status = dataBean.getStatus(); myViewHolder.tvBt.setText("查看订单"); myViewHolder.tvStatus.setTextColor(Color.parseColor("#000000")); if (status == 0) { myViewHolder.tvStatus.setText("待支付"); myViewHolder.tvBt.setText("取消订单"); myViewHolder.tvStatus.setTextColor(Color.parseColor("#ff0000")); } else if (status == 1) { myViewHolder.tvStatus.setText("已取消"); } else if (status == 2) { myViewHolder.tvStatus.setText("已支付"); } myViewHolder.tvPrice.setText("价格:" + dataBean.getPrice()); myViewHolder.tvPrice.setTextColor(Color.parseColor("#ff0000")); myViewHolder.tvTime.setText(dataBean.getCreatetime()); } @Override public int getItemCount() { return list.size(); } class MyViewHolder extends RecyclerView.ViewHolder { private final TextView tvTitle; private final TextView tvStatus; private final TextView tvPrice; private final TextView tvTime; private final TextView tvBt; public MyViewHolder(View itemView) { super(itemView); tvTitle = itemView.findViewById(R.id.textView); tvStatus = itemView.findViewById(R.id.textView2); tvPrice = itemView.findViewById(R.id.textView3); tvTime = itemView.findViewById(R.id.textView4); tvBt = itemView.findViewById(R.id.textView5); } }
bean包
- OrderBean
public class OrderBean { private String msg; private String code; private String page; private List 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 getData() { return data; } public void setData(List 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; } }}
更多相关文章
- android 震动 各种
- Android微信支付回调类
- Android(安卓)封装实现各种样式对话框
- android studio 取消自动保存功能(已解决)
- Android(安卓)AlertDialog
- 自定义View android 像支付宝支付界面的progress
- android 应用中加入支付功能(支付宝集成)
- android 自定义的AlertDialog强化版
- Mac下Android(安卓)studio关联svn以及取消关联