Displaying AlertDialog inside a Custom ListAdapter Class

13,547

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();
Share:
13,547
Andro Selva
Author by

Andro Selva

Working as mobile developer for past 7 years. Hands on experience with Android native development and Titanium.

Updated on June 15, 2022

Comments

  • Andro Selva
    Andro Selva almost 2 years

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

    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?.