0

2 スピナーを使用して、単純なオフライン通貨コンバーターを作成しようとしています。

以下のようにスピナーの選択項目の値を使ってif関数を作りたい

    ArrayAdapter<CharSequence> isispinner = ArrayAdapter.createFromResource(this, R.array.nilai_item, android.R.layout.simple_spinner_item);
    isispinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(isispinner);
    spinner1.setAdapter(isispinner);

    hitung.setOnClickListener(new View.OnClickListener() {

  Object item1 = spinner.getSelectedItem();
  Object item2 = spinner1.getSelectedItem();

  @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
             if ("IDR".equals(item1) && "USD".equals(item2)) {
                    ubahIDRtoUSD();
                }

                if ("USD".equals(item1) && "IDR".equals(item2)){
                    ubahUSDtoIDR();
                }
        }
    });

}

それは動作していませんLOL ..私はそれを間違っているのですか、それとも何か不足していますXD ??

前もって感謝します:D

4

1 に答える 1

1

私の推測では、選択されたアイテムが選択される前に (つまり、onClick()メソッドの外で) 取得しようとしていると思います。この方法を試してください:

@Override
    public void onClick(View v) {

Object item1 = spinner.getSelectedItem();
Object item2 = spinner1.getSelectedItem();

        // TODO Auto-generated method stub
         if ("IDR".equals(item1) && "USD".equals(item2)) {
                ubahIDRtoUSD();
            }

            if ("USD".equals(item1) && "IDR".equals(item2)){
                ubahUSDtoIDR();
            }
    }
});

}

そして、getSelectedItem()メソッドはStringafaik を返さないので、String("IRD") と比較しても意味がありません。

ところで、スピナーの設定方法に関する完全なチュートリアルがあります。

于 2012-05-28T16:32:29.560 に答える