Android仿淘宝订单页面实现

一般电商项目会涉及到的订单管理模块,类似淘宝样式的订单这里写图片描述

主要是讲一下订单页面的实现。当然实现的方法有很多,我知道的有两种方法:一种是采用listview嵌套listview的方式,这种方式需要重写listview中onMearsure方法;还有一种是采用接口回调的方式,这种方式主要对后台返回的数据有依赖;
今天主要说下第二种方法:
实现的思想:首先Tab下面的布局还是用一个listview实现,然后将listview中的item分为上中下三部分内容;
创建三个xml文件,分别实现三个布局;第一部分为店铺名称那一栏,第二部分为商品信息那一栏,第三部分为订单状态那一栏;
然后创建一个回调接口
代码如下
public interface OrderContent
{
public int getLayout();
public boolean isClickable();
public View getView(Context context, View convertView, LayoutInflater inflater);
}

利用接口回调分别实现三个布局

第一部分

public class ItemOrderTop implements OrderContent {
   
    private Order order;

    private OnceSendView2 shopImageView;
    private List<Order_goods> list;
    private ACache aCache;

    public ItemOrderTop(Order order, List<Order_goods> list) {

        this.order = order;
        this.list = list;
    }

    @Override
    public int getLayout() {
        return R.layout.item_order_top;
    }

    @Override
    public boolean isClickable() {
        return true;
    }

    public Order order() {
        return order;
    }

    @Override
    public View getView(final Context context, View convertView, LayoutInflater inflater) {
        aCache = ACache.get(context);
        inflater = LayoutInflater.from(context);
        convertView = inflater.inflate(getLayout(), null);

        final GTextView orderId = (GTextView) convertView.findViewById(R.id.tv_order_num1);

        GTextView orderstatus = (GTextView) convertView.findViewById(R.id.tv_order_state1);

        orderId.setText("订单号码:" + order.getOrder_sn());


        switch (order.getStatus().toString()) {
            case "20":
                orderstatus.setText("待发货");
                break;
            case "30":
                orderstatus.setText("已发货");
                break;
            case "40":
                orderstatus.setText("已收货待评价");
                break;
            default:
                break;

        }


        return convertView;
    }

}

中间部分


public class OrderIMiddle implements OrderContent {
   
    private Order_goods order_goods;
    private ImageLoader imageLoader;
    private DisplayImageOptions options;

    List<Order_goods> order_goodsList;
    private String status;

    public OrderIMiddle(Order_goods order_goods, String status) {
        this.order_goods = order_goods;
        order_goodsList = new ArrayList<Order_goods>();
        order_goodsList.add(order_goods);
        this.status = status;

        imageLoader 
  • 22
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 50
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 50
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值