0

我只是尝试使用 2 spinner 制作一个简单的离线货币转换器。

我想使用微调器选定项目的值创建一个“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();
                }
        }
    });

}

它不工作大声笑..我做错了还是我错过了什么XD??

提前致谢

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 回答