本文介绍了在自定义ListAdapter类中显示AlertDialog的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我很难处理在扩展BaseAdapter的Custom ListView类中显示AlertDialog的问题.

I am having a hard time dealing with displaying a AlertDialog inside a Custom ListView class which extends a 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错误是

The above is the code I am using, and the LogCat error is,

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

我认为问题在于背景.我尝试了几种选择.但是没有办法.有人可以帮我吗?

I believe that the problem is because of the context. I tried a few alternative. But none works. Can anyone help me in this?.

推荐答案

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

A slight modification with the context did teh trick for me. Here is the edited snippet.

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

这篇关于在自定义ListAdapter类中显示AlertDialog的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 10:39