-1

ユーザーに x と y の 2 つの数字を尋ねようとしています。ユーザーがボタンをクリックすると、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());
4

1 に答える 1

1

これを行うには多くの方法があります。考えられる 1 つの方法は、変数 "x" と "y" を静的にすることです。「x」と「y」の値を動的に変更する可能性があるため、これは要件を満たさない場合があります。

もう 1 つの方法は、OnClickListener の実装を変更することです。次のように使用できます。

class MyOnClickListener implements OnClickListener

クラス(「setOnClickListener」を呼び出すクラス)をMyOnClickListenerに渡します。つまり、MyOnClickListenerのコンストラクターは次のようになります。

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

また、clazz.getX() と clazz.getY() を使用して減算を行うことができます。

于 2012-02-20T03:34:09.523 に答える