У меня странная проблема.
Я делаю приложение с targetdk 13.
В методе onCreate моей основной деятельности я вызываю getActionBar()
, чтобы настроить панель действий. Это прекрасно работает при работе на эмуляторе Android 3.2, но при использовании Android 3.0 и 3.1 метод getActionBar()
возвращает ноль.
Я нахожу это чрезвычайно странным, и я не вижу никакой причины, по которой это так.
Это ошибка с эмуляторами или мне нужно что-то сделать, чтобы в моем приложении была панель действий?
РЕШЕНИЕ:
Я думаю, что нашел решение этой проблемы.
Я не использовал setContentView, чтобы установить макет для деятельности. Вместо этого я использовал fragmentTransaction.add(android.R.id.content, mFragment, mTag)
, чтобы добавить фрагмент к действию.
Это работало нормально в 3.2, но в более ранних версиях сота панель действий, очевидно, не установлена, если вы не используете setContentView в методе onCreate()
.
Поэтому я исправил это с помощью метода setContentView()
в моем методе onCreate()
и просто снабдил его макетом, который содержал пустой FrameLayout.
Я все еще могу использовать метод fragmentTransaction.add(android.R.id.content, mFragment, mTag)
так же, как и раньше.
Это не самое красивое исправление, но оно работает.