попробуйте поймать нет окна оповещения Android - PullRequest
0 голосов
/ 24 июня 2011

Я пытаюсь показать окно предупреждения в моем приложении, когда возникает исключение числового формата, но по какой-то причине приложение вылетает

add.setOnClickListener (новый View.OnClickListener () {

        public void onClick(View arg0) {
            // TODO Auto-generated method stub

            try {

                preRes = new Double(field1.getText().toString());
                lastCommand = "+";
                field1.setText("");
                count = 0;

            } catch (NumberFormatException e) {    


                show = new AlertDialog.Builder(mContext)
                .setTitle("Error")
                .setMessage("no inputs").setPositiveButton("OK", null).show();

            }

        }
    });

Ответы [ 4 ]

0 голосов
/ 24 июня 2011

Я считаю, что вам нужно создать Builder, прежде чем вы сможете начать настройку свойств. Попробуйте что-то вроде этого (при условии, что show является AlertDialog):

show = new AlertDialog.Builder(mContext).create();
show.setTitle("Error")
  .setMessage("no inputs")
  .setPositiveButton("OK", null)
  .show();
0 голосов
/ 24 июня 2011

Если вы получаете нулевой указатель, попробуйте использовать new AlertDialog.Builder(getContext()).. или new AlertDialog.Builder(this)...Возможно, вы пропустили инициализацию поля mContext.

Если это не сработает, попробуйте

show = new AlertDialog.Builder(mContext)
            .setTitle("Error")
            .setMessage("no inputs").setPositiveButton("OK", 
new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        captureImage();
    }
}
).show();
0 голосов
/ 24 июня 2011

Скорее всего, выбрасывается исключение, отличное от NumberFormatException, например, NullPointerException.

Можно сгенерировать NPE, если field1 или mContext не инициализированы должным образом.

В любом случае, вам нужно, чтобы logcat работал, чтобы вы могли отладить проблему.Трассировка стека укажет вам, где происходит ошибка.

Чтобы открыть logcat в Eclipse, перейдите в «Окно»> «Показать представление»> «Другие ...» и выберите представление «logcat».

В качестве альтернативы вы можетеполучить доступ к представлению logcat в меню «Окно»> «Открыть проекцию»> «Другое» и выбрать проекцию «DDMS».

0 голосов
/ 24 июня 2011

Вы пропустили после создания AlertDialog.Builder

AlertDialog alert = show .create();
 alert.show();
...