0

尝试使用 AlertDialog 设置微调器时遇到问题,不断收到错误消息“AlertDialog.Builder 类型中的方法 setItems(int, DialogInterface.OnClickListener) 不适用于参数 (String[], new View.OnClickListener() {})"

我对 Android 编程相当陌生,我仍然习惯它,任何帮助将不胜感激!谢谢

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


    });
4

1 回答 1

3

改变:

b.setItems(types, new OnClickListener){

b.setItems(types, new DialogInterface.OnClickListener){

你将不得不分开

String[] types = {"1", "2", "3"};

到单个整数或 CharSequence 数组。

您的代码中的某个地方可能有另一个普通视图的 OnClickListener,并将其包含在您的导入中。由于所有 OnClickListener 类共享相同的名称,Eclipse 会自动将它们全部解析为当前导入的类。在这种情况下,您可以指定父类。

此外,Eclipse 已解析的setItems()方法将单个 int 用作第一个参数,而不是 String 数组。不过,您可以使用其他setItems()方法,该方法采用 CharSequence 数组。在这种情况下,改变

String[] types = {"1", "2", "3"};

CharSequence[] types = {"1", "2", "3"};
于 2013-04-09T01:44:13.253 回答