如果Else Android(其他总是激活)

时间:2011-10-19 18:14:36

标签: android if-statement

我在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...");
    }
}

2 个答案:

答案 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...");
    }
}

你错过了其他的