20.购物车商品价格的总和(里面有一些功能没有实现,创建textview布局对象,然后for()遍历数据求和)
2016-10-18 21:02
656 查看
效果图:
在CartFragment中创建textview的对象,然后在CartAdapter适配器中的构造函数,实现textview的赋值,使用for遍历
代码:
CartFragment.class
CartAdapter:
在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); } } }
相关文章推荐
- ios-day13-01(私人通讯录。控制器之间的数据传递、保存密码和自动登录的实现、普通对象的归档、UITableView的局部刷新和向左滑动删除功能等等)
- JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
- 设计一个学生类,其中包含学号、姓名、成绩等数据成员,创建学生对象并且倒入到文件file.txt,然后由文件读取到另一个学生对象并输出,试编程实现。
- andriod———1.实现原生登录注册。 2.首页完成商品列表展示点击相对应的商品ID进入商品详情 3.商品详情页面展示数据,点击加入购物车进入购物车页面 4.购物车页面完成购物车编辑,删除,功能
- DrawerLayout+ListView+AutoCompleteTextView实现侧滑+提示+筛选+再次筛选数据功能
- JSP类似购物车根据后台数据自动生成一行商品,点击按钮实现数量价格自动增加
- vue2实现简单的商品加入购物车和结算功能(前端数据保存方向)
- UITableView实现下拉刷新添加数据功能
- 自定义View 实现 TextView 的功能:
- 实现【关于我们】功能(textview的文本样式几种实现方式)
- CMAP原理及其在MFC中的实现(MAP模板没有顺序遍历的功能)
- 【TextView】自己实现的TextView,只有显示文字功能。
- UITableView实现下拉刷新添加数据功能
- 简单工厂(Factory)-提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类。
- android动态布局:用java代码实现LinearLayout以及TextView
- 仿MFC实现c++的按名动态创建对象功能
- [转]自定义ASP.NET AJAX拖放功能示例程序:实现IDragSource和IDropTarget接口将商品拖放至购物车中
- 一些页面自动跳转的实现 (功能:5秒后,自动跳转到同目录下的02view.html文件)
- TextView滚动功能的实现