У меня странная проблема. Я создаю приложение с помощью 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)
так же, как и раньше.
Это не самое красивое исправление, но оно работает.