Sto solo cominciando a fare lo sviluppo di Android, più o meno in seguito alla http://developer.android.com/training/basics/firstapp/starting-activity.html tutorial, e una cosa mi tiene intercettazioni: ho due classi, entrambi creati utilizzando la procedura guidata di creazione "Attività Android":Come risolvere "La chiamata richiede un livello API 11" con Android Activity?
public class PlacesActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_places);
// I manually commented out the following line to get it to compile.
// getActionBar().setDisplayHomeAsUpEnabled(true);
}
// ... other methods
}
e
public class ShowOnePlace extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_one_place);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
// ... other methods
}
Eclipse continuava a darmi i seguenti errori:
chiamata richiede livello di API 11 (corrente min è 8): android.app.Activity # getActionBar
chiamata richiede livello di API 11 (corrente min è 8): android.app.ActionBar # setDisplayHomeAsUpEnabled
finché non ho commentato uno delle righe (come mostrato sopra). Ora l'applicazione sembra da compilare ed eseguire sul mio dispositivo Android senza errori. (Bene, almeno senza che errore).
Quindi:
- Perché
getActionBar().setDisplayHomeAsUpEnabled(true);
dare tale errore di una classe, ma quella stessa linea non è un errore - nemmeno un avvertimento - in altra classe? - C'è un bug nella procedura guidata di creazione "Attività Android" e in qualche modo l'istruzione
getActionBar().setDisplayHomeAsUpEnabled(true);
è errata in un'attività, ma perfettamente nell'altra? - C'è forse un bug in Eclipse Lint e questa affermazione è effettivamente OK in entrambe le attività (o forse è sbagliata in entrambe le attività)?
- Cosa devo fare per poter risolvere il problema senza modificare minSdkVersion = "8" in minSdkVersion = "11"? Ho avuto l'impressione che il file "android-support-v4.jar" fosse una libreria di compatibilità che girava su dispositivi della versione 8 per gestire roba gestita in modo nativo nei dispositivi della versione 11.
- Qual è veramente la cosa giusta da fare quando vedo questo errore?
inoltre: http://developer.android.com ti consente di impostare il livello API desiderato in modo da non includere accidentalmente elementi che non funzionano nella tua app. – DigCamara