我被告知由于API 14的更改,我必须将我的switch语句更改为If-Else语句。
很好。
什么不工作是当我把我的插入符号放在switch语句上并根据说明按CTRL-1我没有选择时,我顺便使用Ubuntu,有什么建议吗?
我也试过清理我的项目。
修改。它适用于所有其他switch语句,而不是这里包含的语句:
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnCalcCalories:
double weight = Integer.parseInt(etWeight.getText().toString());
double bodyfat = Integer.parseInt(etBodyfat.getText().toString());
;
lbm = weight * (100 - bodyfat) / 100;
bmr = 370 + (21.6 * lbm);
maintCals = bmr * actLevel;
maintCalories
.setText("Calories need to maintain current bodyweight: "
+ String.valueOf(maintCals));
lbmResult.setText("Your Lean Body Mass is " + String.valueOf(lbm)
+ "Kg");
bmrResult.setText("Your Base Metabolic rate is "
+ String.valueOf(bmr) + " calories");
calorieResult.setText("Your Daily calorie goal is "
+ String.valueOf(finalGPercentage) + " calories");
break;
case R.id.btnUpdateDB:
boolean worked = true;
try {
String dbWeight = curWeight.getText().toString();
String dbWaist = curWaist.getText().toString();
String dbChest = curChest.getText().toString();
String dbLegs = curLegs.getText().toString();
String dbArms = curArms.getText().toString();
Stats entry = new Stats(MainActivity.this);
entry.open();
entry.createEntry(dbWeight, dbWaist, dbChest, dbArms, dbLegs);
entry.close();
break;
} catch (Exception e) {
worked = false;
String error = e.toString();
Dialog d = new Dialog(this);
d.setTitle("Error");
TextView tv = new TextView(this);
tv.setText(error);
d.setContentView(tv);
d.show();
} finally {
if (worked) {
Dialog d = new Dialog(this);
d.setTitle("DB Worked");
TextView tv = new TextView(this);
tv.setText("Success");
d.setContentView(tv);
d.show();
}
}
case R.id.btnViewDB:
Intent i = new Intent("com.uhi.fatfighter.DBView");
startActivity(i);
break;
case R.id.btnStopwatchActivity:
Intent s = new Intent("com.uhi.fatfighter.Stopwatch");
startActivity(s);
break;
case R.id.btnMapARun:
Intent m = new Intent("com.uhi.fatfighter.MapRun");
startActivity(m);
break;
case R.id.btnWeightConverter:
Intent w = new Intent("com.uhi.fatfighter.WeightConverter");
startActivity(w);
break;
}
}
答案 0 :(得分:4)
在我的项目属性中,我将我的Google-libs检查为'is library',取消选中此项并修复了问题。
答案 1 :(得分:0)
问题是Eclipse是愚蠢的。如果你想做这样的酷事,你应该使用IntelliJ IDEA。
不要忘记调用 trim()方法删除尾随空格。
double weight = Integer.parseInt(etWeight.getText()。toString());
使用幻数并不是一种好方法。
bmr = 370 +(21.6 x lbm);
捕获root 异常并不是一种好方法。
catch(例外e)
从不在finally块中显示Dialog,此时您的应用程序可能会崩溃。