Сдвиг панели действий не обновляется при изменении ориентации

Я использую панель действий Шерлок в своем приложении. Я использовал функцию «ifRoom | withText» в моем меню. Если я тестирую свой код в портретном режиме, я вижу только значок, и если я поворачиваю ориентацию в альбомную, все равно вижу только значок. С другой стороны, если я бегу с пейзажем, я вижу текст и значок на портрете и пейзаже. Это означает, что когда экран повернут, панель действий не обновляется. Как я могу исправить?

В меню у меня есть

android:showAsAction="ifRoom|withText" 

Также я использовал эту строку в моем файле манифеста для исправления

  android:configChanges="keyboardHidden|orientation|screenSize" 

Но это не сработало. И я запускаю свой Android-код Android 2.3

Также я использовал фрагмент в своей деятельности,

  FragmentManager fm = getSupportFragmentManager(); ft = fm.beginTransaction(); mFragment1 = fm.findFragmentByTag("f1"); if (mFragment1 == null) { mFragment1 = new MenuFragment(); ft.add(mFragment1, "f1"); } ft.commit(); 

Обработка изменений конфигурации не поддерживается с помощью ActionBarSherlock.

В пре-ICS ActionBarSherlock НЕ является частью декорированного представления, например, собственной панели действий и, следовательно, подвержен тем же ограничениям, что и ваш контент. При обработке изменений конфигурации вы не позволяете библиотеке адаптироваться к изменению и, следовательно, увидите неправильный дисплей или определенные части.

Документация Android также запрещает обработку изменений конфигурации. Избегайте их любой ценой, особенно при использовании ActionBarSherlock.

В соответствующей заметке я по-прежнему пытаюсь обойти это для будущих версий библиотеки, но теперь избегаю рекомендуется.

Я думаю, вам придется заново создать меню ActionBar при изменении конфигурации

 invalidateOptionsMenu();