在Android中启动新活动时出错

在Android中启动新活动时出错,android,android-layout,android-intent,android-fragments,Android,Android Layout,Android Intent,Android Fragments,我正在尝试启动一个新活动,当用户单击第一个选项(案例0)时,该活动将打开一个日历。但我得到的错误是 构造函数意图(新的DialogInterface.OnClickListener(){},类)未定义 我不确定我为什么会收到这个消息,甚至不知道我是否应该使用Intent调用CalendarViewSampleActivity。我尝试使用的代码在下面的案例0中 private void openReserveDialog() { new AlertDialog.Builder(this)

我正在尝试启动一个新活动,当用户单击第一个选项(案例0)时,该活动将打开一个日历。但我得到的错误是

构造函数意图(新的DialogInterface.OnClickListener(){},类)未定义

我不确定我为什么会收到这个消息,甚至不知道我是否应该使用Intent调用CalendarViewSampleActivity。我尝试使用的代码在下面的案例0中

private void openReserveDialog() {
    new AlertDialog.Builder(this)
            .setTitle(R.string.new_reserv_title)
            .setItems(R.array.reservations,
                    new DialogInterface.OnClickListener() {
                        public void onClick(
                                DialogInterface dialoginterface, int i) {
                            switch(i){
                            case 0:
                                Intent in = new Intent(this, CalendarViewSampleActivity.class);
                                startActivity(i);
                                //take out
                                break;
                            case 1:
                                // change reservation
                                getFragmentManager().beginTransaction()
                                .add(R.id.container, new LocationFragment()).commit();
                                //take out
                                break;
                            case 2:
                                // cancel reservation
                                break;
                            default:
                                break;
                        }
                    }).show();
}

在您的
对话框interface.OnClickListener()
中,
指的是侦听器,而不是您的活动。使用安装在Intent构造函数中的
getApplicationContext()
应该可以实现这一点

我也这样做:Intent in=newintent(getApplicationContext(),CalendarViewSampleActivity.class);剩下的都一样吗?是的。您还可以将意图创建为
final intent in=new intent(这是CalendarViewSampleActivity.class)如果您在OnClickListener块之外