在购物车活动中,我允许用户编辑数量项目,并且按用户<<>>获取总金额 改变数量,但在这里我遇到一个小问题,每当我点击后退按钮时,它会重置我的数量,为什么?
请参见下面的截图:
![在此处输入图片说明] [1]
例如,在上面的屏幕中,我已经编辑了我的产品Veggie的数量从1到15并且还得到了Total的变化,但问题是一旦我点击后退按钮,那么我将再次获得价值数量1不是15,我之前已输入
请告诉我如何控制这个?
CartAdapter.java:
if(cost.getText().length() > 0)
{
try
{
itemamount = Double.parseDouble(cost.getText().toString());
Log.d("ProductInformationActivity", "ItemAmount :: " + itemamount);
}
catch(NumberFormatException e)
{
itemamount=0.00;
Log.d("ProductInformationActivity", "NumberFormatException :: " + e);
}
}
qty.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (!qty.getText().toString().equals("")
|| !qty.getText().toString().equals("")) {
// accept quantity by user
itemquantity = Integer.parseInt(qty.getText()
.toString());
total.setText(new DecimalFormat("##.#").format(itemamount*itemquantity));
}
}
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
});
return vi;
}
}
答案 0 :(得分:4)
为什么不保存您的值并将其填入onCreate()
?您可以使用三种机制中的任何一种来获得您想要的东西。
答案 1 :(得分:0)
使用SQLite DB
看起来是考虑您需要的功能的最佳选择......
答案 2 :(得分:-1)
如果您已经存储了该值并且只想控制后退按钮的工作方式,则可以在购物车活动中使用此功能:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//Your code
return true; // so the super method doesn't get called
}
return super.onKeyDown(keyCode, event);
}