Saya mengalami masalah aneh. Saya membuat aplikasi dengan targetdk 13.
Dalam metode onCreate aktivitas utama saya, saya menelepon getActionBar()
untuk menyiapkan bilah tindakan saya. Ini berfungsi dengan baik ketika berjalan pada emulator Android 3.2, tetapi ketika menggunakan Android 3.0 dan 3.1 getActionBar()
metode mengembalikan nol.
Saya menemukan ini sangat aneh, dan saya tidak dapat melihat alasan mengapa itu akan terjadi. Apakah ini bug dengan emulator atau ada sesuatu yang perlu saya lakukan, untuk memastikan bahwa aplikasi saya memiliki actionbar?
SOLUSI:
Saya pikir saya telah menemukan solusi untuk masalah ini. Saya tidak menggunakan setContentView untuk mengatur tata letak aktivitas. Sebagai gantinya saya menggunakan fragmentTransaction.add(android.R.id.content, mFragment, mTag)
untuk menambahkan sebuah fragmen ke aktivitas. Ini berfungsi dengan baik di 3.2, tetapi dalam versi honeycomb sebelumnya bilah tindakan tampaknya tidak disetel jika Anda tidak menggunakan setContentView dalam onCreate()
metode. Jadi saya memperbaikinya dengan menggunakan setContentView()
metode dalam onCreate()
metode saya dan hanya menyediakannya dengan tata letak yang berisi FrameLayout kosong. Saya masih bisa menggunakan fragmentTransaction.add(android.R.id.content, mFragment, mTag)
metode dengan cara yang sama seperti sebelumnya.
Ini bukan perbaikan tercantik, tetapi berhasil.