Sto avendo un problema strano. Sto realizzando un'app con targetdk 13.
Nel metodo onCreate della mia attività principale, chiamo getActionBar()
per configurare la mia barra delle azioni. Funziona bene quando si esegue sull'emulatore Android 3.2, ma quando si utilizza Android 3.0 e 3.1 il getActionBar()
metodo restituisce null.
Lo trovo estremamente strano e non riesco a vedere alcun motivo per cui lo farebbe. Si tratta di un bug con gli emulatori o c'è qualcosa che devo fare per garantire che la mia applicazione abbia una barra delle azioni?
SOLUZIONE:
penso di aver trovato una soluzione per questo problema. Non stavo usando setContentView per impostare un layout per l'attività. Invece stavo usando fragmentTransaction.add(android.R.id.content, mFragment, mTag)
per aggiungere un frammento all'attività. Funzionava bene in 3.2, ma nelle precedenti versioni a nido d'ape apparentemente la barra delle azioni non è impostata se non si utilizza setContentView nel onCreate()
metodo. Quindi l'ho corretto usando il setContentView()
metodo nel mio onCreate()
metodo e semplicemente fornendo un layout che conteneva un FrameLayout vuoto. Posso ancora usare il fragmentTransaction.add(android.R.id.content, mFragment, mTag)
metodo allo stesso modo di prima.
Non è la soluzione più carina, ma funziona.