我正在开发Android的商店应用程序。在操作栏上有一个购物车图标,当点击图标时,它会输入另一个列出购物车中所有产品的片段。我想在图标的一角添加一个增量,每次我将一个项目添加到购物车时,增量显示我有多少项目。
就像这样:
有什么方法可以实现这个目标吗?我在Google上搜索过,但我找不到任何东西。提前谢谢。
编辑:这是添加项目的方法
public boolean findProduct(ProductItem product) {
if (cartList != null) {
for (CartItem item : cartList)
if (item.product.getId() == product.getId()) {
item.amount++;
item.setTotalPrice();
return true;
}
cartList.add(new CartItem(product));
} else cartList.add(new CartItem(product));
return false;
}
答案 0 :(得分:0)
到目前为止,我对你的域名不太确定,但我可以在这里放一个伪代码,告诉你如何使用回叫,希望它会对你有所帮助。
假设下面是您要添加到购物车中的片段:
public class MyCartFragment extends Fragment{
private DoSomething myDoSomethingCallBack;// callBack interface
//Below is your adding/counting function
public MyCartFragment(DoSomething callback){
myDoSomethingCallBack = callback;
}
public boolean findProduct(ProductItem product) {
if (cartList != null) {
for (CartItem item : cartList)
if (item.product.getId() == product.getId()) {
item.amount++;
item.setTotalPrice();
return true;
}
myDoSomethingCallBack.doPostExecute();
cartList.add(new CartItem(product));
} else cartList.add(new CartItem(product));
return false;
}
public interface DoSomething {
void doPostExecute();
}
}
并假设下面是包含操作栏的活动。
public class MyMainActivity extends Activity implements MyCartFragment.DoSomething{
Main_Method()//could be onCreateView or something else
{
//here call your MyCartFragment like this.
MyCartFragment mFragment=new MyCartFragment(MyMainActivity.this);
}
@Override
public void doPostExecute() {
//Now this method will be called when your **findProduct** method will done calculating and customize this method according to your domain
}
}