Тост в AlertDialog в попытке / поймать - PullRequest
0 голосов
/ 03 апреля 2012

Я пытаюсь получить сообщение об ошибке, когда пользователь вводит номер для элемента, который нельзя удалить в базе данных.Я получил его, чтобы пользователь мог удалить элемент из базы данных, и я думаю, что использовал try catch, чтобы избежать ошибки времени выполнения, если число не существует.То, что я пытаюсь сделать, это всплывающее окно, когда пользователь вводит неправильный номер.Я уже посмотрел на другие подобные сообщения в стеке и не повезло.Вот мой кодЕсли вам нужно, чтобы я отправил больше кода, дайте мне знать.

public void onClick(DialogInterface dialog, int which) {
    try {
        String id=idNum.getText().toString();
        long primaryId=Long.parseLong(id);

        info.open();
        info.deleteInspection(primaryId);
        info.close();
        dbInfo();
    } catch(Exception e) {
        Toast.makeText(getApplicationContext(), "Number not found", Toast.LENGTH_SHORT).show();
    }
}

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

Вы можете заставить свой метод deleteInspection() возвращать логическое значение, сообщая, был ли удален указанный идентификатор. Затем проверьте это в вашем методе onClick:

boolean result = info.deleteInspection(primaryId);
if(!result) {
   Toast.makeText(getApplicationContext(), "Number not found", Toast.LENGTH_SHORT).show();
}
0 голосов
/ 03 апреля 2012

Дело не в том, чтобы попытаться / поймать здесь, что вы хотите опубликовать "номер не найден"

вам нужно вернуть результат из базы данных, в котором он нашел этот идентификатор для удаления или нет

Как сказал Сорен. Квист.

вам необходимо вернуть какое-то значение из вашей базы данных в ваш код (возможно, -1, false и т. Д.) И проверить его

...