Проблема с "AlertDialog" - PullRequest
       12

Проблема с "AlertDialog"

0 голосов
/ 14 июля 2011

Я пытаюсь отобразить AlertDialog, но получаю сообщение об ошибке при вызове функции show. Я использую следующий код, скопированный из образца кода Hello Mapview:

AlertDialog.Builder dialog = new AlertDialog.Builder(context);
  dialog.setTitle(article.getTitle());
  dialog.setMessage(article.getSnippet());
  dialog.show();

Приложение аварийно завершает работу, когда выполняется последняя строка. Я подозревал переменную context, но она невиновна, потому что с ее помощью я могу отобразить Toast.

Заранее благодарим за потраченное время, пытаясь помочь мне.

Ответы [ 3 ]

1 голос
/ 15 июля 2011

Второй @ Бригам.Убедитесь, что контекст, который вы передаете своему ItemizedOverylay, является действием, которое отображает MapView.Другими словами, используйте что-то вроде следующего:

itemizedOverlay = new HelloItemizedOverlay(drawable, this);

Вместо

itemizedOverlay = new HelloItemizedOverlay(drawable, getApplicationContext());

Нельзя использовать контекст приложения для AlertDialog, что приведет к следующей ошибке:

ОШИБКА / AndroidRuntime (8679): android.view.WindowManager $ BadTokenException: невозможно добавить окно - нулевой токен не для приложения

0 голосов
/ 14 июля 2011

Я думаю, что все будет работать .. В следующем фрагменте кода

AlertDialog.Builder dialog = new AlertDialog.Builder(context);
  dialog.setTitle(article.getTitle());
  dialog.setMessage(article.getSnippet());
  dialog.show();

внесите это изменение

AlertDialog dialog = new AlertDialog.Builder(context);
  dialog.setTitle(article.getTitle());
  dialog.setMessage(article.getSnippet());
  dialog.show();
0 голосов
/ 14 июля 2011

Вам необходимо вызвать .create () после создания нового объекта AlertDialog.Builder.

...