如何在Session中存储EditText的值

时间:2013-05-06 04:24:03

标签: android

购物车活动中,我允许用户编辑数量项目,并且按用户<<>>获取总金额 改变数量,但在这里我遇到一个小问题,每当我点击后退按钮时,它会重置我的数量,为什么?

请参见下面的截图:

![在此处输入图片说明] [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;      
}       
  }

3 个答案:

答案 0 :(得分:4)

为什么不保存您的值并将其填入onCreate()?您可以使用三种机制中的任何一种来获得您想要的东西。

  1. 共享偏好设置
  2. SQLite DB
  3. 应用

答案 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);
}