0
在我的代码中,如果用户按下单选按钮两次,它将计算两次值。我怎样才能防止这一点?我在onClick中使用switch语句。按下单选按钮两次,计算两次
@Override
public void onClick(View v) {
double value;
NumberFormat myMileFormat = new DecimalFormat("0.00");
NumberFormat myMeterFormat = new DecimalFormat("0000");
String stringEmptyCheck = edit_distance.getText().toString();
switch (v.getId()) {
case R.id.button_minusDis:
decrementLength();
break;
case R.id.button_plusDis:
incrementLength();
break;
case R.id.button_done:
this.finish();
break;
case R.id.radio_miles:
if (stringEmptyCheck.matches("")) {
Toast.makeText(getApplicationContext(),
"Miles or meters cannot be empty", Toast.LENGTH_LONG)
.show();
value = 3.50;
edit_distance.setText(myMileFormat.format(value));
} else {
value = Double.parseDouble(edit_distance.getText().toString());
if ((value /= 1609.00) > DistanceInterval.MAX_LENGTH_MILES) {
value = DistanceInterval.MAX_LENGTH_MILES;
}
edit_distance.setText(myMileFormat.format(value));
}
break;
如果单选按钮已被选中,则添加一些逻辑来检测它是否已被选中,然后不重新计算它是否被选中。只要单选按钮没有被选中,onClick事件就会在任何时候点击。 –
我理解检查是否通过使用if(radio_miles.isChecked())检查过的逻辑,但是如何在不停止第一次初始化的情况下检查是否再次单击它?你会建议把逻辑陈述放在哪里? – John