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