“AlertDialog”出现问题

时间:2011-07-14 16:33:41

标签: android alertdialog

我正在尝试显示AlertDialog,但在调用show函数时出现错误。我使用以下代码,从Hello Mapview代码示例中复制:

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

执行最后一行时应用程序崩溃。我怀疑context变量,但它没有罪,因为有了它,我可以显示Toast

提前感谢你花时间去帮助我。

3 个答案:

答案 0 :(得分:1)

第二个@Brigham。确保传递给ItemizedOverylay的上下文是显示MapView的活动。换句话说,使用类似下面的内容,

itemizedOverlay = new HelloItemizedOverlay(drawable, this);

而不是

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

应用程序上下文不能用于AlertDialog,并将导致以下错误,

错误/ AndroidRuntime(8679):android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌null不适用于应用程序

答案 1 :(得分:0)

创建新的AlertDialog.Builder对象后,需要调用.create()。

答案 2 :(得分:0)

我想一切都会有效..在下面的代码片段中

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();