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

eas*_*ese 4 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...");
    }
}
Run Code Online (Sandbox Code Playgroud)

K-b*_*llo 21

从你的缩进看,你错过了else:

if (name[0].equals("item")) {
    ...
} else if (name[0].equals("setMax")) {
    ...
} else {
    ...
}
Run Code Online (Sandbox Code Playgroud)


小智 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...");
    }
}
Run Code Online (Sandbox Code Playgroud)

你错过了别的