たとえば、次のコード:
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.GINGERBREAD) {
myCalendarView.setOnDateChangeListener(
new OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
Toast.makeText
(
getApplicationContext(), ""+dayOfMonth, 0
).show();
}
}
);
}
エラーが発生します:
説明 リソース パス ロケーション タイプ 呼び出しには API レベル 11 が必要です (現在の最小値は 8): android.widget.CalendarView#setOnDateChangeListener example.java /example/src/com/example/example line 20 Android Lint Problem
コンパイル時にこのエラーが発生する理由を理解しています。しかし、ソース Java クラスを特定の API レベル 11 でのみ使用されるようにマークする方法はありますか? または、API レベル 11 を超えるデバイスでのみコードがレイト バインド/ジットされるように、コード ブロックを define/similar で囲みますか? 私が望むものを達成するための最良の解決策は何ですか? (これは、それが可能なデバイスで CalendarView を使用してアクティビティを提供することです。)