Calendar.getInstance无法解析为类型

时间:2014-04-05 07:18:40

标签: android eclipse calendar adt

我正在尝试通过在查询中指定日期选择来阅读日历事件。 无论我为什么这样做,我都会收到错误" 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));
    }


}

4 个答案:

答案 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();