Если остальное Android (остальное всегда активируется) - PullRequest
3 голосов
/ 19 октября 2011

У меня есть следующий код в AsyncTask.name - это «item», «setMax» или предложение типа «Создание базы данных (это одноразовая функция)».

Моя проблема возникает, когда я передаю «item» в код, код которого увеличивается на1, но затем он устанавливает сообщение как «элемент Пожалуйста, подождите ...».Я думаю, что это потому, что это должно быть 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 ]

20 голосов
/ 19 октября 2011

Из вашего отступа видно, что вам не хватает else:

if (name[0].equals("item")) {
    ...
} else if (name[0].equals("setMax")) {
    ...
} else {
    ...
}
5 голосов
/ 19 октября 2011
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...");
    }
}

Вы пропустили еще

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...