我正在尝试通过在查询中指定日期选择来阅读日历事件。 无论我为什么这样做,我都会收到错误" Calendar.getInstance无法解析为此行中的类型" :
Calendar c_start= new Calendar.getInstance();
这很奇怪,因为我导入了java.util.Calendar;
这是我的代码
package com.authorwjf.calsample;
import java.text.Format;
import java.text.SimpleDateFormat;
import android.util.Log;
import android.app.Activity;
import android.os.Bundle;
import android.text.format.DateFormat;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.provider.CalendarContract;
import android.content.DialogInterface;
import android.database.Cursor;
import java.util.Calendar;
@Override
public void onClick(View v) {
TextView tv = (TextView)findViewById(R.id.data);
String title = "N/A";
Long start = 0L;
switch(v.getId()) {
case R.id.next:
if(!mCursor.isLast()) mCursor.moveToNext();
break;
case R.id.previous:
if(!mCursor.isFirst()) mCursor.moveToPrevious();
break;
}
Format df = DateFormat.getDateFormat(this);
Format tf = DateFormat.getTimeFormat(this);
try {
title = mCursor.getString(0);
start = mCursor.getLong(1);
} catch (Exception e) {
//ignore
}
tv.setText(title+" בתאריך "+df.format(start)+" בשעה "+tf.format(start));
}
}
答案 0 :(得分:6)
您必须简单地从
更改Calendar c_start= new Calendar.getInstance();
到
Calendar c_start = Calendar.getInstance();
表示您只需删除new
关键字。
答案 1 :(得分:2)
更改您的代码..
Calendar c_start= new Calendar.getInstance();
到
Calendar c_start= Calendar.getInstance();
因为Calendar.getInstance()
返回日历对象..
答案 2 :(得分:0)
如果你真的使用它:
Calendar c_start= new Calendar.getInstance();
然后删除new
关键字,它将起作用
答案 3 :(得分:0)
日历遵循Singleton设计模式,然后通过getInstace()方法调用对象的构造函数,这就是为什么在实例化对象时必须删除new
关键字的原因。
最终代码:Calendar c_start = Calendar.getInstance();