在Android中启动新活动时出错

时间:2014-05-18 00:29:01

标签: android android-layout android-intent android-fragments

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

  

构造函数Intent(new DialogInterface.OnClickListener(){},Class)未定义

我不确定我为什么会这样,或者即使我应该使用Intent来调用CalendarViewSampleActivity。我尝试使用的代码如下所示。

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

1 个答案:

答案 0 :(得分:0)

DialogInterface.OnClickListener()中,this指的是听众,而不是您的活动。使用Intent构造函数中设置的getApplicationContext()应该可以解决问题。