商品详情页面,点击按钮将对应的商品加入购物车
2017-12-19 16:15
411 查看
商品详情页面是通过 点击首页的商品,传当前商品的信息到商品详情页面展示,
点击
加入购物车的按钮 将当前商品加入到购物车里
这是首页的商品展示
![](https://oscdn.geek-share.com/Uploads/Images/Content/201712/19/91a7c2be3708e2e055e2d3bc75bc710e)
点击商品 跳转到商品详情页面
![](https://oscdn.geek-share.com/Uploads/Images/Content/201712/19/9b19bd4fc05d7fdef91eb71368aa4bbb)
商品详情页面的布局
这样就完成了动态添加购物车
点击
加入购物车的按钮 将当前商品加入到购物车里
这是首页的商品展示
点击商品 跳转到商品详情页面
商品详情页面的布局
<?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:fresco="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="com.example.jdong.CustomXiangQiangActivity"> <RelativeLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:background="#F5F5F5" android:gravity="center_vertical" android:padding="10dp"> <ImageView android:id="@+id/custom_fanhui" android:layout_width="40dp" android:layout_height="40dp" android:src="@drawable/aa4" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="商品详情" android:textSize="23sp" /> </RelativeLayout> <!-- fresco:failureImage="@drawable/tuijian" fresco:placeholderImage="@drawable/tuijian"--> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="10" android:orientation="vertical"> <android.support.v4.view.ViewPager android:id="@+id/custom_xq_viewpager" android:layout_width="match_parent" android:layout_height="560dp" /> <TextView android:id="@+id/custom_xq_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="20dp" android:paddingLeft="20dp" android:text="Apple iPhone 8 Plus" android:textColor="#000" android:textSize="23sp" /> <TextView android:id="@+id/custom_xq_bargin_price" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:padding="10dp" android:paddingLeft="30dp" android:text="¥6688.00" android:textColor="#000" android:textSize="23sp" /> <TextView android:id="@+id/custom_xq_price" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:padding="10dp" android:paddingLeft="30dp" android:text="¥6688.00" android:textColor="#F23030" android:textSize="26sp" android:textStyle="bold" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:gravity="center_vertical" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:text="供应商" android:textSize="18sp" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:text="联系卖家" android:textSize="18sp" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:text="进入店铺" android:textSize="18sp" /> <TextView android:id="@+id/jiagou_btn" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="#f00" android:gravity="center" android:paddingLeft="20dp" android:paddingRight="20dp" android:text="加入购物车" android:textColor="#fff" android:textSize="19sp" /> </LinearLayout> </LinearLayout>详情CustomXiangQingActivity.java的代码
public class CustomXiangQiangActivity extends AppCompatActivity implements AddCartViewCallBack{ @BindView(R.id.custom_fanhui) ImageView customFanhui; @BindView(R.id.custom_xq_viewpager) ViewPager customXqViewpager; @BindView(R.id.custom_xq_title) TextView customXqTitle; @BindView(R.id.custom_xq_bargin_price) TextView customXqBarginPrice; @BindView(R.id.custom_xq_price) TextView customXqPrice; @BindView(R.id.jiagou_btn) TextView jiagouBtn; private AddCartPresenter addCartPresenter; private String pid; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_custom_xing_qing); ButterKnife.bind(this); //https://www.zhaoapi.cn/product/addCart //添加购物车 //拿到传来的参数 Intent intent = getIntent(); //images,pid,bargainPrice,title,price pid = intent.getStringExtra("pid"); String images = intent.getStringExtra("images"); String bargainPrice = intent.getStringExtra("bargainPrice"); String title = intent.getStringExtra("title"); String price = intent.getStringExtra("price"); //原价设置删除线 customXqPrice.setText("¥"+price+""); customXqTitle.setText(title+""); customXqBarginPrice.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);//下划线 customXqBarginPrice.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG); //中间横线(删除线) customXqBarginPrice.getPaint().setAntiAlias(true);// 抗锯齿 customXqBarginPrice.setText("¥"+bargainPrice+""); List<String> listImage = new ArrayList<>(); //图片的集合 if(images.contains("|")){ //如果需要拆分 String[] split = images.split("\\|"); for (int i=0;i<split.length;i++){ listImage.add(split[0]); } }else{ listImage.add(images); } ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(this); viewPagerAdapter.addData(listImage); customXqViewpager.setAdapter(viewPagerAdapter); addCartPresenter = new AddCartPresenter(this); } @OnClick({R.id.custom_fanhui, R.id.custom_xq_viewpager, R.id.custom_xq_title, R.id.custom_xq_bargin_price, R.id.custom_xq_price, R.id.jiagou_btn}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.custom_fanhui: finish(); break; case R.id.jiagou_btn://点击加入购物车,动态添加商品根据pid, // https://www.zhaoapi.cn/product/addCart //"uid": 1650, // "token": "2FC3EF31EA25696D2715A971ADE38DE1", addCartPresenter.getData(pid); break; } } @Override public void success(AddCartBean addCartBean) { Toast.makeText(this,""+addCartBean.getMsg(),Toast.LENGTH_LONG).show(); } @Override public void failure() { } }AddCartPresenter层
public class AddCartPresenter { AddCartModel addCartModel = new AddCartModel(); AddCartViewCallBack addCartViewCallBack; public AddCartPresenter(AddCartViewCallBack addCartViewCallBack) { this.addCartViewCallBack = addCartViewCallBack; } public void getData(String pid) { addCartModel.getData(pid, new AddCartModelCallBack() { @Override public void success(AddCartBean addCartBean) { addCartViewCallBack.success(addCartBean); } @Override public void failure() { addCartViewCallBack.failure(); } }); } }AddCartModel层请求网络数据
public class AddCartModel { public void getData(String pid, final AddCartModelCallBack addCartModelCallBack) { // https://www.zhaoapi.cn/product/addCart?source=android&uid=1650&pid=57 //"uid": 1650, // "token": "2FC3EF31EA25696D2715A971ADE38DE1", //"pid":57 Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://www.zhaoapi.cn") .addConverterFactory(GsonConverterFactory.create()) .build(); IGetDataService service = retrofit.create(IGetDataService.class); Map<String,String> map = new HashMap<>(); map.put("source","android"); map.put("uid","1650"); map.put("token","2FC3EF31EA25696D2715A971ADE38DE1"); map.put("pid",pid); service.addCart(map).enqueue(new Callback<AddCartBean>() { @Override public void onResponse(Call<AddCartBean> call, Response<AddCartBean> response) { AddCartBean addCartBean = response.body(); addCartModelCallBack.success(addCartBean); } @Override public void onFailure(Call<AddCartBean> call, Throwable t) { addCartModelCallBack.failure(); } }); } }
这样就完成了动态添加购物车
相关文章推荐
- andriod———1.实现原生登录注册。 2.首页完成商品列表展示点击相对应的商品ID进入商品详情 3.商品详情页面展示数据,点击加入购物车进入购物车页面 4.购物车页面完成购物车编辑,删除,功能
- 淘淘商城系列——商品详情页面对加入购物车进行改造
- 学习淘淘商城第九十七课(商品详情页面对加入购物车进行改造)
- Android listView中点击item或Item中控件跳转对应的详情页面的实现(商品详情查看)
- 商品详情页面点击跳转到购物车(一)详情界面
- 点击“加入购物车”按钮后系统是怎样进入购物车页面的?
- 从详情页点击购物车按钮到主界面的购物车
- JSP类似购物车根据后台数据自动生成一行商品,点击按钮实现数量价格自动增加
- 通过点击购物车加载到本地存储(商品详情)
- 点击加入购物车直接转到购物车页面
- ecshop购物车页面使用ajax更新商品数量、小计、总价,点击加号和减号
- 购物车详情界面点击加入购物车(四)
- angularjs按商品类型,点击加入购物车
- 点击加入购物车直接转到购物车页面
- 点击图片之后进入商品详情页面,但是无法加载信息
- 列表页点击商品跳转到对应商品的详情页
- ecshop购物车页面点击更新购物车按钮页面跳转
- 网站点击导航栏标题,对应的元素平滑上移以及点击图片或按钮回到页面顶部的特效
- ECSHOP商品详情页面如何实现直接购买和放入到购物车同时存在
- h5缓存 和 点击商品列表进入详情页点击返回按钮回到上次打开列表的位置