0
我道歉,如果语法是关闭这里,特别是关于布尔:的Android使用布尔标志来定义用户输入
public class WeightConverter extends Activity implements OnClickListener, OnCheckedChangeListener {
Button convertWeight;
TextView conversionResults;
EditText enterWeight;
RadioGroup weightPicker;
RadioButton radKG, radLB;
double weightValue, convertedWeight;
String weightString;
String measurement;
Boolean weightSwitch;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.weightconverter);
initializeVariables();
weightSwitch = false;
radKG.setChecked(true);
}
private void initializeVariables() {
convertWeight = (Button) findViewById(R.id.btnConvertWeight);
conversionResults =(TextView) findViewById(R.id.tvWeightConversion);
enterWeight =(EditText) findViewById(R.id.etWeightToConvert);
weightPicker = (RadioGroup) findViewById(R.id.rgWeightType);
radKG = (RadioButton) findViewById(R.id.radKG);
radLB = (RadioButton) findViewById(R.id.radLB);
convertWeight.setOnClickListener(this);
weightPicker.setOnCheckedChangeListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnConvertWeight:
if (weightSwitch = true){
convertedWeight = weightValue /2.2;
measurement = "Kilograms";
}else{
convertedWeight = weightValue *2.2;
measurement = "Pounds";
}
conversionResults.setText(weightValue + " = " + String.valueOf(convertedWeight) + " " + measurement);
break;
}
}
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
weightValue = Double.parseDouble(enterWeight.getText().toString());
switch (checkedId) {
case R.id.radKG:
weightSwitch = true;
break;
case R.id.radLB:
weightSwitch = false;
break;
}
}
}
取决于用户是否选择所述布尔类型应该被执行的不同的计算的,但只有转化为英镑的工作..
真棒!尽管轻微的微笑,如果我不_exclusively_指定一个单选按钮然后计算返回0即。如果我只是输入一个值,然后按转换它只是返回0,只有当我按任何一个单选按钮计算发生,我觉得它有一些与“radKG.setChecked(true);” ? – dyatesupnorth 2013-05-08 20:04:11
我目前还不熟悉Android;我刚看到你的错误恰好与纯Java相关。 – rgettman 2013-05-08 20:06:05