Intereting Posts
Android / iOS – настройка пользовательского URI / протокола Получите плагин Android и графический интерфейс для совместной работы / командной строки Добавить кнопку на экран предпочтений Лучшие практики, чтобы сделать процесс покупки приложения в приложении для Android более сложным? Android – Firebase jobdispatcher Как проверить, существует ли таблица в базе данных Android SQLite? Как переместить и переименовать проект в студии Android? Curiosity Down / Up Swipe Анимация и фрагменты Population Based On posts date Визуализировать наложение графики в видео камеры Разработка HTML5 Android Как предотвратить проверку CheckBox? Найти личный лист Google по имени с помощью API 4 в Android Android – Сериализация XML – simpleframework – Путь с необязательными элементами (обязательно = false) – Как скрыть элементы Null value? Очистить уведомление в строке состояния после сбоя приложения Как получить адрес электронной почты пользователя, используя Parse Facebook для Android-

Замените устаревший файл android.support.v4.app.ActionBarDrawerToggle с поддержкой, вызывающим вывод версии version.v7, не работает на Jelly Bean

После ответа в этом вопросе я заменил ActionBarDrawerToggle библиотеки поддержки v4, которая в последнем обновлении (rev 21) устарела с помощью последней версии ActionBarDrawerToggle support-v7 library .

Теперь ящик работает на эмуляторе Andrid Lollipop без предупреждений об устаревании, но когда я тестирую приложение на реальном устройстве Jelly Bean, ящик не выдвигается, и кнопка переключения курсора не отображается.

Что, черт возьми, связано с этим обновлением библиотеки поддержки? Как я могу исправить эту проблему без перехода к предыдущей версии?

Здесь мой макет

 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- content view --> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/drawer_text" /> </RelativeLayout> <!-- nav drawer --> <ListView android:id="@+id/drawer" android:layout_width="320dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="#F3F3F4" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="0dp" /> </android.support.v4.widget.DrawerLayout> 

  1. Чтобы корректно работать ActionBarDrawerToggle v7, вам необходимо расширить класс Activity из android.support.v7.app.ActionBarActivity
  2. ActionBarActivity v7 необходимо использовать с темой Theme.AppCompat из библиотеки поддержки appcompat-v7:21 .
  3. Если вы не хотите переключаться с ActionBar на ToolBar , не добавляйте <item name="windowActionBar">false</item> при расширении Theme.AppCompat . Это приведет к тому, что ваш ActionBarActivity не ActionBarActivity иметь getSupportActionBar ActionBar умолчанию, а getSupportActionBar вернет значение null. Вам нужно будет предоставить свой собственный ToolBar и сначала вызвать setSupportActionBar чтобы сделать работу getSupportActionBar .