1

我正在尝试做一个货币转换器作业(我是编程新手)

做了一切,但单选按钮被按住并且没有做任何事情(不将文本放入 TextView 并且单选按钮被锁定在“按下”模式

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_convert);

    mResult = (TextView) findViewById(R.id.result);
    mToConvert = (EditText) findViewById(R.id.toConvert);
    mRadioGroup = (RadioGroup) findViewById(R.id.radioG);
    mDollar = (RadioButton) findViewById(R.id.dollar);
    Meuro = (RadioButton) findViewById(R.id.euro);

    mRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
    {
        public void onCheckedChanged(RadioGroup rGroup, int checkedId)
        {

            switch (mRadioGroup.getCheckedRadioButtonId())
            {
            case R.id.dollar:
            Double dollarConvert = Double.valueOf(mToConvert.getText().toString()); //convert the string to int
            double price = dollarConvert * 1.28;
            mDollar.setChecked(true);
            Meuro.setChecked(false);
            String result = mToConvert.getText().toString();
            mResult.setText(result + price);
            break;

            case R.id.euro:
                Double euroConvert = Double.valueOf(mToConvert.getText().toString()); //convert the string to int
                double value = euroConvert * 1.28;
                mDollar.setChecked(false);
                Meuro.setChecked(true);
                String result1 = mToConvert.getText().toString();
                mResult.setText(result1 + value);
                break;

                default:;
            }
        }
    });


}

}

4

1 回答 1

1

您需要为 RadioGroup 设置RadioGroup.setoncheckedchangelistener以在检查更改事件触发时执行一些操作。

mRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
{
    public void onCheckedChanged(RadioGroup rGroup, int checkedId)
    {
              //do your code here
    }
});
于 2012-12-18T15:22:36.483 回答