android通过onclicklistener传递一个数字

时间:2012-02-20 03:28:09

标签: android onclick buttonclick

我试图向用户询问2个数字x和y。当用户点击按钮时,它将从x中减去y并给出总数。我希望它做的是保存总数,下次单击按钮时,它将从总数中减去y。我知道我没有再次通过总回来,但我不知道从哪里开始。

subtract.setOnClickListener(new View.OnClickListener() {


        public void onClick(View v) throws  NumberFormatException {
            if (v == subtract)
            {
            NumberFormat currencyFormatter;
            currencyFormatter = NumberFormat.getCurrencyInstance(currentLocale);



                String bString;
                String x = startingmoney.getText().toString();
                String y = submoney.getText().toString ();
                    double total = 0.00;
                    double xm = 0.00;
                    double ym =0.00;

                     try
                      {
                          xm = Double.parseDouble(x);
                      }
                     catch(NumberFormatException n)
                      {
                          xm = 0.00;
                      }
                     try
                     {
                         ym = Double.parseDouble(y);
                     }
                    catch(NumberFormatException n)
                     {
                        ym = 0.00;
                     }




           total = xm -ym;







                bString = currencyFormatter.format(total);
                endmoney.setText(bString);

                tracker.setText("you have entered " + bString +"\n" + tracker.getText().toString());

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点。一种可能的方法是使变量“x”和“y”保持静态。这可能不符合您的要求,因为您可以动态更改“x”和“y”的值。

另一种方法是更改​​OnClickListener的实现。您可以将其用作

class MyOnClickListener implements OnClickListener

并将类(调用“setOnClickListener”的类)传递给MyOnClickListener,也就是说,MyOnClickListener的构造函数就像,

MyOnClickListener(CLASS clazz){
    this.clazz = clazz;
}

你可以使用clazz.getX()和clazz.getY()进行减法。