2013-04-09 149 views
0

认为我有它的工作,但我得到了另一个错误!我对Android还是一个新手,无论如何都无法解决这个问题。我知道这是关于使用“新生成器(这)”;“。然而我不知道还有什么可以使用的,任何帮助将不胜感激!AlertDialog.Builder未定义

changeDay.setOnClickListener(new OnClickListener(){ 
     public void onClick(View v){ 
      AlertDialog.Builder b = new Builder(this); 
      b.setTitle("Select Day"); 
      String[] types = {"1", "2", "3"}; 
      b.setItems(types, new DialogInterface.OnClickListener(){ 
       public void onClick(DialogInterface dialog, int which){ 
        dialog.dismiss(); 
        switch(which){ 
        case 0: 
         day = "1"; 
         break; 
        case 1: 
         day = "2"; 
         break; 
        } 
       } 
      }); 
     } 
    }); 
+0

使用'AlertDialog.Builder b = new AlertDialog.Builder(this);'你没有指定类的全名,所以它不知道要使用什么。 – 2013-04-09 02:24:18

+0

谢谢,但这似乎只是再次给出完全相同的错误! – HotLovingCoder3 2013-04-09 02:40:49

回答

0

你的问题是String[]数组中,该AlertDialog.BuildersetItems方法不带String[]数组作为参数,它需要在这里intCharSequence[]

检查 - http://developer.android.com/reference/android/app/AlertDialog.Builder.html#setItems(int, android.content.DialogInterface.OnClickListener)

更新:所以答案的第二部分是,在你的Builder(这个)中this指的是OnClickListener,你希望它参考到Activitycontext。要做到这一点,你可以简单的把东西就像在你onCreate()

Context myCtx = this; //this sets the Activity as myCtx 

以下,然后用Builder(myCtx)替换Builder(this)。瞧!

+0

我已经排序,谢谢!但是我仍然有同样的错误出现! “构造函数AlertDialog.Builder(新的View.OnClickListener(){})未定义” – HotLovingCoder3 2013-04-09 02:41:14

+0

你可以发布你的错误,你正在? – Gix 2013-04-09 02:42:22

+0

当然!我将它编辑成之前的评论,但只是为了确保您能看到它! “构造函数AlertDialog.Builder(new View.OnClickListener(){})未定义” – HotLovingCoder3 2013-04-09 02:44:00