Zum Beispiel dieser Code ausführen:Wie nur Code auf bestimmte API-Ebene
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();
}
}
);
}
gibt Fehler:
Description Resource Path Location Type Call requires API level 11 (current min is 8): android.widget.CalendarView#setOnDateChangeListener example.java /example/src/com/example/example line 20 Android Lint Problem
Ich verstehe, warum ich diesen Fehler kompilieren-Zeit. Aber gibt es eine Möglichkeit, eine Quell-Java-Klasse nur auf bestimmten API-Level-11 zu verwenden? Oder Surround-Code-Blöcke mit einer Definition/ähnlich, so dass der Code nur auf Geräten über API Level-11 spät-gebunden/jitted ist? Was ist die beste Lösung, um das zu erreichen, was ich will? (Das ist eine Aktivität mit Calendar auf Geräte capabile davon zur Verfügung zu stellen.)
Was Sie tun, ist in Ordnung. –
Leider bekomme ich den Fehler beim Kompilieren in Eclipse beschrieben. (Bedeutung Ich kann den Code kompilieren und testen) – Tom
Das ist ein Flusenfehler. Sie können es in den Einstellungen deaktivieren. Ihre App wird weiterhin funktionieren. –