5

Semplicemente aggiungendo una semplice attività di aiuto (visualizza semplicemente un blocco di testo HTML da un file di risorse), a un'app di prova molto semplice, in questo nuovo Android 3.0.6 beta di Android Studio e ricevo il seguente avviso, senza motivo/giustificazione offerta:Perché Android Studio mi sta dicendo di utilizzare getSupportActionBar() anziché getActionBar()?

Should use getSupportActionBar instead of ActionBar name

qualcuno sa perché?

Inoltre c'è qualche documentazione, come Android Studio non ne offre e non riesce a trovare nulla di specifico sul sito Android.

Se c'è una giustificazione per l'avviso, qualcuno può indicarmi un esempio completo, poiché la classe così com'è è quasi completamente generica/per la maggior parte degli esempi intorno ad es.

public class HelpActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_help); 

    ActionBar actionBar = getActionBar(); 
    actionBar.setTitle(getString(R.string.action_help)); 

    TextView helpText = (TextView) findViewById(R.id.help_text); 
    helpText.setText(Html.fromHtml(getString(R.string.help_markup))); 
    } 
} 

risposta

11

getSupportActionBar() è lo stesso di getActionBar(), ma proviene dalla libreria di supporto Android.

Android Studio ti consiglia di passare a getSupportActionBar() perché, in caso contrario, l'applicazione non sarebbe retrocompatibile con le versioni precedenti di Android.

È consigliabile utilizzare la libreria di supporto Android laddove possibile, se si intende essere retrocompatibili, altrimenti l'applicazione potrebbe bloccarsi su piattaforme meno recenti. Se non hai intenzione di essere retrocompatibile, allora sei libero di ignorare questo avviso.

Per ulteriori informazioni, date un'occhiata al docs for ActionBarActivity, in cui si dice:

getSupportActionBar(): supporta la versione libreria di getActionBar().

+0

Grazie, c'è qualcosa di ufficiale (a parte gli avvisi oscuri che appaiono nel nuovo strumento) sull'utilizzo della classe di supporto? Chiedo come la documentazione e gli esempi sul sito droid usano ancora l'originale. – arober11

+0

@ arober11 Un buon punto di partenza è, onestamente, [la pagina Libreria di supporto] (http://developer.android.com/tools/support-library/index.html) da dev.android - la maggior parte di questo onestamente riguarda solo come sono organizzati ed elaborati i layout. La maggior parte delle volte, Android Studio ti avviserà, ma se stai facendo qualcosa di grosso con frammenti e layout, è sempre una buona idea controllare. – Zyerah

+3

C'è un bug in AS 0.8.9 (corrente al momento), anche se il tuo manifest specifica API 15+, vuole che tu usi getSupportActionBar che non è necessario. –

Problemi correlati