2011-06-16 102 views
2

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

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 

我相信这个问题是因为上下文。我尝试了几个选择。但没有任何作品。任何人都可以帮助我吗?

回答

21

对上下文做了一些细微的修改,对我来说就是一招。这是编辑的片段。

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

完美,正是我所期待的... – TharakaNirmana 2013-08-16 04:53:48

相关问题