Per esempio, questo codice:Come eseguire solo codice a certo livello di API
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();
}
}
);
}
dà l'errore:
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
capisco perché ottengo questo errore di compilazione. Ma esiste un modo per contrassegnare una classe Java di origine da utilizzare solo su alcuni livelli API 11? Oppure i blocchi del codice surround con un define/similar in modo che il codice sia tardivo/associato solo sui dispositivi sopra il livello API-11? Qual è la migliore soluzione per ottenere ciò che voglio? (Che è quello di fornire un'attività con CalendarView su dispositivi capabile di esso.)
Quello che stai facendo va bene. –
Purtroppo ho ricevuto l'errore descritto durante la compilazione in Eclipse. (Significato Posso compilare e testare il codice) – Tom
Questo è un errore di filaccia. Puoi disabilitarlo nelle preferenze. La tua app funzionerà ancora bene. –