实现的功能:
1.显示购物车商品数目
2.添加商品后更新购物车数目
设计思路
1.设计一个application 里面存储一个shopingnum用以保存购物车数量
2.设置一个baseactivity 其他activity 继承他用以在一个气泡中显示数目 这样在任何界面都可以显示购物车数目
+添加一个flag 如果是false就不显示tab工具条
+在baseactivity中有个方法setShopCarNum();设置气泡中的数字
+ baseactivity中应该在onResume中调用setShopCarNum(); 这样在其他界面添加购物车数目的时候可以更新显示
3.服务器在添加购物车后应该在返回的结果中还有一个 购物车数量的数值。 这个应该是访问数据库的一个存储过程 有后台来写
4.每次在其他activity中添加商品到购物车的时候 需要调用setShopCarNum(); 把从服务器返回的结果 来设置气泡的数量
代码:
application
private String shopingnum;
public String getShopingnum() {
return shopingnum;
}
public void setShopingnum(String shopingnum) {
this.shopingnum = shopingnum;
}
然后在baseactivity中:
public void setShopCarNum(String currentnum) {
if (currentnum != null) {
((ECApplication) getApplication()).setShopingnum(currentnum);
}
String shopingnum = ((ECApplication) getApplication()).getShopingnum();
if (shopingnum == null) {
// todo 从网络获取购物车数量
textShopCarNum.setText("3");
} else {
textShopCarNum.setText(shopingnum);
}
}
@Override
protected void onResume() {
setShopCarNum(null);
super.onResume();
}
添加购物车的activity的部分代码
getDataFromServer(reqVo, new DataCallback<Boolean>() {
@Override
public void processData(Boolean paramObject,
boolean paramBoolean) {
if (paramObject != null && paramObject) {
setShopCarNum("6");// 应该是添加购物车后返回一个购物车数量的结果
AlertDialog.Builder builder = new Builder(
ProductDetailActivity.this);
builder.setTitle("添加进购物车成功");