model文件夹下//CartModel
public class CartModel {
private CartModelCallback callback;
public CartModel(CartModelCallback callback) {
this.callback = callback;
}
public void getData(String url){
OkHttp3Util.doGet(url, new Callback() {
@Override
public void onFailure(Call call, IOException e) {
callback.onCartModelResponseError();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if(response.isSuccessful()){
Gson gson = new Gson();
CartBean cartBean = gson.fromJson(response.body().string(), CartBean.class);
callback.onCartModelResponseSuccess(cartBean);
}
}
});
}
public void postData(String url, Map<String, String> params){
OkHttp3Util.doPost(url, params, new Callback() {
@Override
public void onFailure(Call call, IOException e) {
callback.onCartModelResponseError();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if(response.isSuccessful()){
Gson gson = new Gson();
CartBean cartBean = gson.fromJson(response.body().string(), CartBean.class);
callback.onCartModelResponseSuccess(cartBean);
}
}
});
}
}
//OrderModel
public class OrderModel {
private OrderModelCallback callback;
public OrderModel(OrderModelCallback callback) {
this.callback = callback;
}
public void getData(String url){
OkHttp3Util.doGet(url, new Callback() {
@Override
public void onFailure(Call call, IOException e) {
callback.onOrderModelResponseError();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if(response.isSuccessful()){
Gson gson = new Gson();
OrderBean orderBean = gson.fromJson(response.body().string(), OrderBean.class);
callback.onOrderModelResponseSuccess(orderBean);
}
}
});
}
public void postData(String url, Map<String, String> params){
OkHttp3Util.doPost(url, params, new Callback() {
@Override
public void onFailure(Call call, IOException e) {
callback.onOrderModelResponseError();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if(response.isSuccessful()){
Gson gson = new Gson();
OrderBean orderBean = gson.fromJson(response.body().string(), OrderBean.class);
callback.onOrderModelResponseSuccess(orderBean);
}
}
});
}
}
model文件夹中的jiekou文件夹下
//CartModelCallback
public interface CartModelCallback {
void onCartModelResponseSuccess(CartBean cartBean);
void onCartModelResponseError();
}
//OrderModelCallback
public interface OrderModelCallback {
void onOrderModelResponseSuccess(OrderBean orderBean);
void onOrderModelResponseError();
}
presenter文件夹下//CartPre
public class CartPre implements CartModelCallback {
private CartModel cartModel;
private CartPreCallBack callBack;
public CartPre(CartPreCallBack callBack) {
this.cartModel = new CartModel(this);
this.callBack = callBack;
}
public void getData(String url){
cartModel.getData(url);
}
public void postData(String url, Map<String, String> params){
cartModel.postData(url, params);
}
@Override
public void onCartModelResponseSuccess(CartBean cartBean) {
callBack.onCartPreResponseSuccess(cartBean);
}
@Override
public void onCartModelResponseError() {
callBack.onCartPreResponseError();
}
}
//OrderPre
public class OrderPre implements OrderModelCallback {
private OrderModel orderModel;
private OrderPreCallBack callBack;
public OrderPre(OrderPreCallBack callBack) {
this.orderModel = new OrderModel(this);
this.callBack = callBack;
}
public void getData(String url){
orderModel.getData(url);
}
public void postData(String url, Map<String, String> params){
orderModel.postData(url, params);
}
@Override
public void onOrderModelResponseSuccess(OrderBean orderBean) {
callBack.onOrderPreResponseSuccess(orderBean);
}
@Override
public void onOrderModelResponseError() {
callBack.onOrderPreResponseError();
}
}
presenter文件夹下jiekou文件夹下
//CartPreCallBack
public interface CartPreCallBack {
void onCartPreResponseSuccess(CartBean cartBean);
void onCartPreResponseError();
}
//OrderPreCallBack
public interface OrderPreCallBack {
void onOrderPreResponseSuccess(OrderBean orderBean);
void onOrderPreResponseError();
}
View//application文件夹下
//RookieApplication
public class RookieApplication extends Application{
@Override
public void onCreate() {
super.onCreate();
Fresco.initialize(this);
}
}
View//custom文件夹下
//NumberAddSubView
public class NumberAddSubView extends LinearLayout implements View.OnClickListener {
private Button btn_sub;
private Button btn_add;
private TextView tv_num;
private Context mContext;
/**
* 设置默认值
*/
private int value = 1;
private int minValue = 1;
private int maxValue = 5;
public NumberAddSubView(Context context) {
this(context, null);
}
public NumberAddSubView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public NumberAddSubView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
this.mContext = context;
initView(context);
//得到属性
if (attrs != null) {
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.NumberAddSubView);
//TintTypedArray a = TintTypedArray.obtainStyledAttributes(context, attrs, R.styleable.NumberAddSubView, defStyleAttr, 0);
int value = a.getInt(R.styleable.NumberAddSubView_value, 0);
setValue(value);
int maxValue = a.getInt(R.styleable.NumberAddSubView_maxValue, 0);
setMaxValue(maxValue);
int minValue = a.getInt(R.styleable.NumberAddSubView_minValue, 0);
setMinValue(minValue);
Drawable btnSubBackground = a.getDrawable(R.styleable.NumberAddSubView_btnSubBackground);
if (btnSubBackground != null)
btn_sub.setBackground(btnSubBackground);
Drawable btnAddBackground = a.getDrawable(R.styleable.NumberAddSubView_btnAddBackground);
if (btnAddBackground != null)
btn_sub.setBackground(btnAddBackground);
Drawable textViewBackground = a.getDrawable(R.styleable.NumberAddSubView_textViewBackground);
if (textViewBackground != null)
tv_num.setBackground(textViewBackground);
a.recycle();
}
}
private void initView(Context context) {
//第三个参数:把当前View加载到NumberAddSubView控件上
View.inflate(context, R.layout.number_add_sub_view, this);
btn_sub = (Button) findViewById(R.id.btn_sub);
btn_add = (Button) findViewById(R.id.btn_add);
tv_num = (TextView) findViewById(R.id.tv_num);
btn_sub.setOnClickListener(this);
btn_add.setOnClickListener(this);
}
public int getValue() {
String val = tv_num.getText().toString();
if (!TextUtils.isEmpty(val)) {
value = Integer.parseInt(val);
}
return value;
}
public void setValue(int value) {
this.value = value;
tv_num.setText(value + "");
}
public int getMinValue() {
return minValue;
}
public void setMinValue(int minValue) {
this.minValue = minValue;
}
public int getMaxValue() {
return maxValue;
}
public void setMaxValue(int maxValue) {
this.maxValue = maxValue;
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.btn_sub) {
// Toast.makeText(mContext,"减",Toast.LENGTH_SHORT).show();
subNum();
if (onButtonClickListenter != null) {
onButtonClickListenter.onButtonSubClick(v, value);
}
} else if (v.getId() == R.id.btn_add) {
// Toast.makeText(mContext,"加",Toast.LENGTH_SHORT).show();
addNum();
if (onButtonClickListenter != null) {
onButtonClickListenter.onButtonAddClick(v, value);
}
}
}
/**
* 减少数据
*/
private void subNum() {
if (value > minValue) {
value = value - 1;
tv_num.setText(value + "");
}
}
/**
* 添加数据
*/
private void addNum() {
if (value < maxValue) {
value = value + 1;
tv_num.setText(value + "");
}
}
public interface OnButtonClickListenter {
/**
* 当增加按钮被点击的时候回调该方法
*
* @param view
* @param value
*/
public void onButtonAddClick(View view, int value);
/**
* 当减少按钮被点击的时候回调这个方法
*
* @param view
* @param value
*/
public void onButtonSubClick(View view, int value);
}
private OnButtonClickListenter onButtonClickListenter;
public void setOnButtonClickListenter(OnButtonClickListenter onButtonClickListenter) {
this.onButtonClickListenter = onButtonClickListenter;
}
}
bean文件夹下//CartBean
public class CartBean {
private String msg;
private String code;
private List<DataBean> data;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
private String sellerName;
private String sellerid;
private List<ListBean> list;
private int selected;
public int getSelected() {
return selected;
}
public void setSelected(int selected) {
this.selected = selected;
}
public String getSellerName() {
return sellerName;
}
public void setSellerName(String sellerName) {
this.sellerName = sellerName;
}
public String getSellerid() {
return sellerid;
}
public void setSellerid(String sellerid) {
this.sellerid = sellerid;
}
public List<ListBean> getList() {
return list;
}
public void setList(List<ListBean> list) {
this.list = list;
}
public static class ListBean {
private double bargainPrice;
private String createtime;
private String detailUrl;
private String images;
private int num;
private int pid;
private double price;
private int pscid;
private int selected;
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 getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
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 getSelected() {
return selected;
}
public void setSelected(int selected) {
this.selected = selected;
}
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;
}
}
}
}
//OrderBean
public class OrderBean {
private String msg;
private String code;
private String page;
private List<DataBean> data;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getPage() {
return page;
}
public void setPage(String page) {
this.page = page;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
private String createtime;
private int orderid;
private double price;
private int status;
private String title;
private int uid;
public String getCreatetime() {
return createtime;
}
public void setCreatetime(String createtime) {
this.createtime = createtime;
}
public int getOrderid() {
return orderid;
}
public void setOrderid(int orderid) {
this.orderid = orderid;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
}
}