-1

次のコードがあります。

View.OnClickListener calcu = new View.OnClickListener() {
    public void onClick(View v) {
        double q;
        String d = "";
        double factor = cpi[to] / cpi [from];
        DecimalFormat decimalFormat = new DecimalFormat("0.##");
        if (eNum.getText().toString().length() <= 0 || bFrom.getText() == "- Select a Year -" || bTo.getText() == "- Select a Year -") {
            if (eNum.getText().toString().length() <= 0) {
                d += "Enter Dollar Amount";
                eNum.setTextColor(Color.RED);
            }
            if (bFrom.getText() == "- Select a Year -") {
                d += "Select a Year";
                bFrom.setTextColor(Color.RED);
            }
            if (bTo.getText() == "- Select a Year -") {
                d += "Select a Year";
                bTo.setTextColor(Color.RED);
            }
        }
        else {
            dollarAmount = factor * Double.parseDouble(eNum.getText().toString());
            String value = Double.toString(dollarAmount);
            if (value.charAt(value.length() - 2) == '.') {
                value += "0";
            }
            displayToast("Dollar: " + value);

            if (cpi[to] != cpi[from]) {
                double f, y;
                if (cpi[to] > cpi[from]) {
                    f = cpi[to] / cpi [from];
                    y = to - from;
                }
                else {
                    f = cpi[from] / cpi[to];
                    y = from - to;
                }
                q = Math.pow(f, 1/y);
                q = (q-1)*100.0;
                q = Math.round(q*100.0)/100.0;
                displayToast("Inflation: " + String.valueOf(decimalFormat.format(q)));
            }
        }
    }
};

displayToast()ユーザーにトーストメッセージを表示する機能です。

eNumですEditText

bFromそしてbTo_Buttons

onClick メソッドがアクティブになったときに私がしたいこと:

  1. が空の場合eNum、テキストの色を赤にしたいと思います。
  2. bFrombToボタンのテキストがの場合- Select a Year -、テキストの色を赤にしたいと思います。
  3. #1 と #2 が当てはまらない場合は、トーストを表示します。

今クリックしても何も起きません。上記のコードが正しく動作するように修正するにはどうすればよいですか?

4

2 に答える 2

2

これを変える:

bFrom.getText() == "- Select a Year -"

これに:

bFrom.getText().equals("- Select a Year -")

同じことがあなたのbTo.getText() == "- Select a Year -")ラインにも当てはまります。

.equals()オブジェクト (文字列など) の比較や==プリミティブに使用

于 2013-10-11T14:07:19.017 に答える
1

文字列を比較する場合は、.equals を使用する必要があります。

于 2013-10-11T15:17:39.513 に答える