仿京东商品详情页(配合购物车使用)
来源:互联网 发布:能在淘宝上发布 植树 编辑:程序博客网 时间:2024/05/18 01:41
:使用mvp请求OK来请求网络,在此展示mvp简单使用
一.商品详情页的activity代码
package com.bwie.skn.moni.recyclerDetails;import android.content.Intent;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;import com.bwie.skn.moni.R;import com.bwie.skn.moni.adapter.DetailsAdapter;import com.bwie.skn.moni.bean.RecyclerDetailsBean;import com.bwie.skn.moni.shoppingCar.ShoppingCartActivity;import java.util.ArrayList;public class RecyclerDetailsActivity extends AppCompatActivity implements IRecyclerDetailsPresenter,IAddShopCarPresenter{ private int pid = 71; private RecyclerDetailsPresenter recyclerDetailsPresenter; private ListView listView; private RecyclerDetailsBean.DataBean data; private TextView title; private TextView price; private String urlImg; private String[] split; private String urlTitle; private double urlPrice; private ArrayList<String> lists = new ArrayList<String>(); private ViewPager viewPager; private DetailsAdapter adapter; private Button join; private int pids; private AddShopCarPresenter addShopCarPresenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_details); viewPager = (ViewPager) findViewById(R.id.viewPager); join = (Button) findViewById(R.id.join); title = (TextView) findViewById(R.id.title); price = (TextView) findViewById(R.id.price); //Intent intent = getIntent(); //pid = intent.getIntExtra("pid", this.pid); recyclerDetailsPresenter = new RecyclerDetailsPresenter(this); recyclerDetailsPresenter.receive(pid + ""); addShopCarPresenter = new AddShopCarPresenter(this); } @Override public void onSuccess(RecyclerDetailsBean rdBean) { /** * 从集合获取数据,并赋值 */ data = rdBean.getData(); pids = data.getPid(); urlImg = data.getImages(); split = urlImg.split("\\|"); urlTitle = data.getTitle(); urlPrice = data.getPrice(); title.setText(urlTitle); price.setText(urlPrice + ""); /** * 将图片做成无限轮播 * 配置适配器 */ adapter = new DetailsAdapter(RecyclerDetailsActivity.this, split); viewPager.setAdapter(adapter); /** * 点击加入购物车的按钮 */ join.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { /*Toast.makeText(RecyclerDetailsActivity.this, ImageLoaderApp.sql.getInt("id", 0)+"", Toast.LENGTH_SHORT).show();*/ //传入加入购物车的字段 addShopCarPresenter.receive("android", 3381+"", pids + ""); } }); } @Override public void onSuccess(String msg) { Toast.makeText(RecyclerDetailsActivity.this, msg, Toast.LENGTH_SHORT).show(); } @Override public void onFailed() { } /** * 跳转购物车 * @param view */ public void shopcar(View view){ Intent intent = new Intent(RecyclerDetailsActivity.this, ShoppingCartActivity.class); startActivity(intent); }}
二.主页面的布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="250dp"></android.support.v4.view.ViewPager> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/viewPager" android:text="标题" android:textSize="22sp" /> <TextView android:id="@+id/price" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/title" android:text="价格" android:textColor="#F00" android:textSize="22sp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_alignParentBottom="true" > <Button android:id="@+id/shopcar" android:layout_width="0dp" android:layout_weight="1" android:layout_height="50dp" android:text="购物车" android:onClick="shopcar" /> <Button android:id="@+id/join" android:layout_width="0dp" android:layout_weight="1" android:layout_height="50dp" android:text="加入购物车" /> </LinearLayout></RelativeLayout>
三详情页Viewpager适配器
package com.bwie.skn.moni.adapter;import android.content.Context;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import com.bumptech.glide.Glide;import com.bwie.skn.moni.R;/** * author:Created by ZhangPengFei on 2017/12/18. * 详情页的图片的无限轮播 */public class DetailsAdapter extends PagerAdapter { private Context context; private String[] split; public DetailsAdapter(Context context, String[] split) { this.context = context; this.split = split; } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public Object instantiateItem(ViewGroup container, int position) { View view = View.inflate(context, R.layout.layout_detailviewpager, null); ImageView img = view.findViewById(R.id.img); Glide.with(context).load(split[position%split.length]).into(img); container.addView(view); return view; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; }}
四.商品详情页的Bean页面
package com.bwie.skn.moni.bean;/** * author:Created by ZhangPengFei on 2017/12/17. */public class RecyclerDetailsBean { /** * msg : * seller : {"description":"我是商家17","icon":"http://120.27.23.105/images/icon.png","name":"商家17","productNums":999,"score":5,"sellerid":17} * code : 0 * data : {"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":1,"price":118,"pscid":1,"salenum":0,"sellerid":17,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"} */ private String msg; private SellerBean seller; private String code; private DataBean data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public SellerBean getSeller() { return seller; } public void setSeller(SellerBean seller) { this.seller = seller; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public DataBean getData() { return data; } public void setData(DataBean data) { this.data = data; } public static class SellerBean { /** * description : 我是商家17 * icon : http://120.27.23.105/images/icon.png * name : 商家17 * productNums : 999 * score : 5.0 * sellerid : 17 */ private String description; private String icon; private String name; private int productNums; private double score; private int sellerid; public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getProductNums() { return productNums; } public void setProductNums(int productNums) { this.productNums = productNums; } public double getScore() { return score; } public void setScore(double score) { this.score = score; } public int getSellerid() { return sellerid; } public void setSellerid(int sellerid) { this.sellerid = sellerid; } } public static class DataBean { /** * bargainPrice : 111.99 * createtime : 2017-10-14T21:39:05 * detailUrl : https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends * images : https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg * itemtype : 1 * pid : 1 * price : 118.0 * pscid : 1 * salenum : 0 * sellerid : 17 * subhead : 每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下 * title : 北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g */ private double bargainPrice; private String createtime; private String detailUrl; private String images; private int itemtype; private int pid; private double price; private int pscid; private int salenum; private int sellerid; private String subhead; private String title; public double getBargainPrice() { return bargainPrice; } public void setBargainPrice(double bargainPrice) { this.bargainPrice = bargainPrice; } public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public String getDetailUrl() { return detailUrl; } public void setDetailUrl(String detailUrl) { this.detailUrl = detailUrl; } public String getImages() { return images; } public void setImages(String images) { this.images = images; } public int getItemtype() { return itemtype; } public void setItemtype(int itemtype) { this.itemtype = itemtype; } public int getPid() { return pid; } public void setPid(int pid) { this.pid = pid; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getPscid() { return pscid; } public void setPscid(int pscid) { this.pscid = pscid; } public int getSalenum() { return salenum; } public void setSalenum(int salenum) { this.salenum = salenum; } public int getSellerid() { return sellerid; } public void setSellerid(int sellerid) { this.sellerid = sellerid; } public String getSubhead() { return subhead; } public void setSubhead(String subhead) { this.subhead = subhead; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } }}
五.
阅读全文
0 0
- 仿京东商品详情页(配合购物车使用)
- 商品详情页+添加购物车
- 商品详情,购物车,订单
- 仿京东IOS APP商品详情页购物车栏悬浮底部
- Ecshop模板开发(五):商品详情页购物车和立即购买的实现
- 动画动画商品详情加购物车
- 商品详情页面点击跳转到购物车(一)详情界面
- 动画加商品详情加商品购物车
- 商品详情界面点击跳转到购物车(二)购物车界面
- 详情页+购物车
- 详情页 购物车
- 仿京东详情页跳转到购物车
- ECSHOP 商品详情页 购物车页 添加购买数量加减按
- 学习淘淘商城第九十七课(商品详情页面对加入购物车进行改造)
- 组合属性动画+商品详情+MVP+购物车
- 详情页跳转购物车
- 商品详情页面,点击按钮将对应的商品加入购物车
- 购物商城--商品详情多级联动
- Maven学习笔记(二)——Maven目录结构、pom.xml解析&基础命令(一)
- Html5 canvas学习4-图像
- 斯坦财经 GVE基金会亮相北京中关村出席区块链前沿技术论坛
- C语言学习_分离个十百位
- rabbitmq, windows/linux, c/c++/node.js/golang/dotnet
- 仿京东商品详情页(配合购物车使用)
- ACE proactor example
- Maven学习笔记(三)——Maven仓库(Repositories)、基础命令(二)&自动构建项目
- 算法——贪心法
- etcd-v2第一集
- 科技论文
- 第十六周LeetCode
- linux 中禁用USB存储
- 46 Three.js使用THREE.ExtrudeGeometry拉伸SVG为三维图形