2

既存のカレンダーをすべて読み上げようとしています。ここから例を試しました:

http://developer.android.com/guide/topics/providers/calendar-provider.html

しかし、次のコンパイル エラーが発生します。メソッド getContentResolver() は、タイプ xxx に対して未定義です。

public HashMap<String, String> readCalendar() {     
String[] EVENT_PROJECTION = new String[] {
        Calendars._ID,   
        Calendars.OWNER_ACCOUNT,                    
        Calendars.ACCOUNT_NAME,                  
        Calendars.CALENDAR_DISPLAY_NAME                                   
    };
    String selectionICS = "((" + Calendars.ACCOUNT_NAME + " = ?) AND (" 
            + Calendars.ACCOUNT_TYPE + " = ?) AND ("
            + Calendars.OWNER_ACCOUNT + " = ?))";
    String[] selectionArgs = new String[] {"VISIBLE=1"}; // or "selected=1" ??

    Cursor managedCursor = null;
        ContentResolver cr = getContentResolver();
        managedCursor = cr.query(calendarUri, EVENT_PROJECTION, selectionICS, selectionArgs, null);selectionICS, selectionArgs, null);


}
4

1 に答える 1

1

getContentResolver()はのメソッドなので、クラスは(から派生)Contextから派生していないと思います。ActivityContext

アクティビティクラス()の外部で呼び出す場合は、コンテキスト変数を使用する必要がありますcontext.getContentResolver()。クラスがBroadcastReceiverの場合、コンテキスト変数はの引数として指定されonReceive()ます。そうでない場合は、呼び出すときにメソッドに送信する必要があります。

于 2012-06-16T17:39:32.423 に答える