我在AsyncTask中有以下代码。 name是“item”,“setMax”或“创建数据库(这是一次性函数)”之类的句子。
当我将“item”传递给代码时代码增加1但我将问题设置为“item Please wait ...”时出现问题。我认为这是因为它应该是If / Else If / Else顺序但我不确定。是否有更有效的方法,还是应该定义常量并使用switch语句?
protected void onProgressUpdate(String... name) {
if (name[0].equals("item")) {
mDialog.incrementProgressBy(1);
} if (name[0].equals("setMax")) {
mDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mDialog.setMax(Integer.parseInt(name[1]));
} else {
mDialog.setMessage(name[0] + " Please wait...");
}
}
答案 0 :(得分:20)
从缩进中可以看出您错过了else
:
if (name[0].equals("item")) {
...
} else if (name[0].equals("setMax")) {
...
} else {
...
}
答案 1 :(得分:5)
protected void onProgressUpdate(String... name) {
if (name[0].equals("item")) {
mDialog.incrementProgressBy(1);
}else if (name[0].equals("setMax")) {
mDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mDialog.setMax(Integer.parseInt(name[1]));
} else {
mDialog.setMessage(name[0] + " Please wait...");
}
}
你错过了其他的