0

2 つのスピナーで通貨コンバーターを作成しています。以下のように、スピナーの選択項目の値を使用して「if」関数を作成したいと思います。

@Override
public void onClick(View v) {
    if (spinner1.getSelectedItem()=="Dollars" && spinner2.getSelectedItem()=="Euros") {
        convertDollarstoEuros();
    }
    if (spinner1.getSelectedItem()=="Euros" && spinner2.getSelectedItem()=="Euros") {
        convertEurostoEuros();
    }
Toast.makeText(MainActivity.this,
        "OnClickListener : " + 
                "\nSpinner 1 : "+ String.valueOf(spinner1.getSelectedItem()) + 
                "\nSpinner 2 : "+ String.valueOf(spinner2.getSelectedItem()),
            Toast.LENGTH_SHORT).show();
    }

問題は、トーストが表示されているのに、通貨が換算されていないことです。トースト部分は機能していますが、スピナー部分は機能していません。どんな助けでも大歓迎です。これが私のLogCatです:

http://oi39.tinypic.com/2n7i63o.jpg

4

2 に答える 2

1

Spinner で OnItemSelectedListener を使用する

spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {

            String text = spinner1.getSelectedItem().toString().trim();
            if (text.equalsIgnoreCase("Dollars")) {

                //do something
                            }

        }

        public void onNothingSelected(AdapterView<?> arg0) {

        }
    });
于 2013-06-16T02:26:08.937 に答える
0

String を直接比較しています。equalsJava では、文字列とメソッドを比較する必要があります。

if("Dollars".equals(spinner1.getSelectedItem()) && ...

詳細については、次の質問を参照してください: Java で文字列を比較するにはどうすればよいですか?

于 2013-06-16T02:17:09.910 に答える