在自定义ListAdapter类中显示AlertDialog

时间:2011-06-16 06:08:14

标签: android android-listview alertdialog

我很难处理在自定义AlertDialog类中展示ListView的问题,该类扩展了BaseAdapter

AlertDialog.Builder alertbox = new AlertDialog.Builder(getParent().getApplicationContext());
        alertbox.setMessage("No Internet Connection");
        alertbox.setTitle("Warning");
        alertbox.setIcon(R.drawable.trn_03);

        alertbox.setNeutralButton("OK",
                new DialogInterface.OnClickListener() {

                    public void onClick(DialogInterface arg0,
                            int arg1) {

                    }
                });
  alertbox.show();

以上是我正在使用的代码,LogCat错误是

06-16 11:33:25.686: ERROR/AndroidRuntime(690): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application

我认为问题是因为背景。我尝试了一些替代方案。但都没有效果。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:27)

对上下文进行略微修改对我来说是个窍门。这是已编辑的代码段。

AlertDialog.Builder alertbox = new AlertDialog.Builder(v.getRootView().getContext());
    alertbox.setMessage("No Internet Connection");
    alertbox.setTitle("Warning");
    alertbox.setIcon(R.drawable.trn_03);

    alertbox.setNeutralButton("OK",
            new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface arg0,
                        int arg1) {

                }
            });
  alertbox.show();