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