我正在尝试启动一个新活动,当用户点击第一个选项(案例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();
}
答案 0 :(得分:0)
在DialogInterface.OnClickListener()
中,this
指的是听众,而不是您的活动。使用Intent构造函数中设置的getApplicationContext()
应该可以解决问题。