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