20.购物车商品价格的总和(里面有一些功能没有实现,创建textview布局对象,然后for()遍历数据求和)

来源:互联网 发布:centos设置ip地址 编辑:程序博客网 时间:2024/06/14 11:02

效果图:



在CartFragment中创建textview的对象,然后在CartAdapter适配器中的构造函数,实现textview的赋值,使用for遍历

代码:

CartFragment.class

package zuo.com.ui.fragment;import android.content.Context;import android.os.Bundle;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.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;import java.util.ArrayList;import java.util.List;import zuo.com.ui.HomeActivity;import zuo.com.ui.MainActivity;import zuo.com.ui.R;import zuo.com.ui.adapter.CartAdapter;import zuo.com.ui.adapter.HotGoodsAdapter;import zuo.com.ui.bean.ShoppingCart;import zuo.com.ui.util.CartProvider;/** * Created by Administrator on 2016/10/6. */public class CartFragment extends Fragment {    private LayoutInflater layoutInflater;    private CartProvider cartProvider;    private CartAdapter cartAdapter;    private RecyclerView recyclerView;    private TextView textView;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        layoutInflater=LayoutInflater.from(getContext());        cartProvider=new CartProvider(getContext());        View view=layoutInflater.inflate(R.layout.fragment_cart,container,false);        recyclerView= (RecyclerView) view.findViewById(R.id.recycler_view);        textView= (TextView) view.findViewById(R.id.txt_total);        showData();        return view;    }    //初始化数据    private void showData(){        List<ShoppingCart> carts=HotGoodsAdapter.hashMap.get("123");        if(carts!=null) {            Log.d("cart", carts.get(0).getName());            cartAdapter = new CartAdapter(carts,textView);            recyclerView.setAdapter(cartAdapter);            recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));        }else{            cartAdapter = new CartAdapter(carts,textView);            recyclerView.setAdapter(cartAdapter);            recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));        }        }}

CartAdapter:

package zuo.com.ui.adapter;import android.net.Uri;import android.support.v7.widget.RecyclerView;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.CheckBox;import android.widget.TextView;import com.facebook.drawee.backends.pipeline.Fresco;import com.facebook.drawee.backends.pipeline.PipelineDraweeController;import com.facebook.drawee.view.SimpleDraweeView;import com.facebook.imagepipeline.request.ImageRequest;import com.facebook.imagepipeline.request.ImageRequestBuilder;import java.util.List;import zuo.com.ui.R;import zuo.com.ui.bean.ShoppingCart;import zuo.com.ui.number.NumberAddSubView;import zuo.com.ui.util.CartProvider;/** * Created by Administrator on 2016/10/17. */public class CartAdapter extends RecyclerView.Adapter<CartAdapter.ViewHolder> {    private LayoutInflater layoutInflater;    private List<ShoppingCart> carts;    private TextView textView;    float sum=0;    public CartAdapter(List<ShoppingCart> carts,TextView textView){        this.carts=carts;        this.textView=textView;        textView.setText("¥"+total());    }    @Override    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        layoutInflater=LayoutInflater.from(parent.getContext());        View view=layoutInflater.inflate(R.layout.template_cart,parent,false);        return new ViewHolder(view);    }    @Override    public void onBindViewHolder(ViewHolder holder, int position) {        holder.textView1.setText(carts.get(position).getName());        Uri uri=Uri.parse(carts.get(position).getImgUrl());        ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)                .setProgressiveRenderingEnabled(true)                .build();        PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()                .setImageRequest(request)                .build();        holder.simpleDraweeView.setController(controller);        Log.d("123",carts.get(position).getPrice());        holder.textView2.setText("¥"+carts.get(position).getPrice());    }    private float total(){        if(carts==null){            return 0;        }else{            for(ShoppingCart s:carts){                sum+=Float.parseFloat(s.getPrice());            }            return  sum;        }    }    @Override    public int getItemCount() {        if(carts!=null) {            return carts.size();        }else{            return 0;        }    }    class ViewHolder extends RecyclerView.ViewHolder{        private CheckBox checkBox;        private SimpleDraweeView simpleDraweeView;        private TextView textView1,textView2;        private NumberAddSubView numberAddSubView1;        public ViewHolder(View itemView) {            super(itemView);            checkBox= (CheckBox) itemView.findViewById(R.id.checkbox);            checkBox.setClickable(true);            simpleDraweeView= (SimpleDraweeView) itemView.findViewById(R.id.drawee_view);            textView1= (TextView) itemView.findViewById(R.id.text_title);            textView2= (TextView) itemView.findViewById(R.id.text_price);            numberAddSubView1= (NumberAddSubView) itemView.findViewById(R.id.num_control);            numberAddSubView1.setValue(1);            numberAddSubView1.setClickable(true);        }    }}

0 0
原创粉丝点击