Intereting Posts
Android Proguard java.io.IOException: невозможно прочитать [proguard.ClassPathEntry Проблема вертикального выравнивания текста в android и ios Google помещает autocompletes API Android: ограничения не работают Android Studio Gradle Project Sync – не удалось разрешить эспрессо-ядро и Appomppat Кнопка Capture media на Android> = 4.0 (работает на 2.3) Это правильный способ использовать Dagger 2 для Android-приложения в модульном тесте для переопределения зависимостей с помощью mocks / fakes? Как изменить значок по умолчанию в SearchView, который будет использоваться в панели действий на Android? Создайте настраиваемый фоновый рисунок для EditText Фрагменты, не разрушенные при воссоздании () активности Android genymotion vs emulator Как сделать изогнутую экранную клавиатуру для Android Добавить в файл android Проблема с использованием GPS_PROVIDER для определения местоположения Быстрый алгоритм для инвертирования значения цвета ARGB в ABGR? Преобразование base64 String в изображение на Android

Иконка гамбургера не отображается в фрагменте навигационного ящика

Я использую Fragement для навигационного ящика и, следовательно, не могу использовать onPostCreated для вызова syncState

public class NavigationDrawerFragment extends Fragment{ .... 

Вызов syncState () на avctivityCreated

 @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // Indicate that this fragment would like to influence the set of actions in the action bar. setHasOptionsMenu(true); mDrawerToggle.syncState(); } 

Использование значка ic_drawer для значка

 public void setUp(int fragmentId, DrawerLayout drawerLayout) { mFragmentContainerView = getActivity().findViewById(fragmentId); mDrawerLayout = drawerLayout; // set a custom shadow that overlays the main content when the drawer opens mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); // set up the drawer's list view with items and click listener ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setHomeButtonEnabled(true); // ActionBarDrawerToggle ties together the the proper interactions // between the navigation drawer and the action bar app icon. mDrawerToggle = new ActionBarDrawerToggle( getActivity(), /* host Activity */ mDrawerLayout, /* DrawerLayout object */ R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */ R.string.navigation_drawer_open, /* "open drawer" description for accessibility */ R.string.navigation_drawer_close /* "close drawer" description for accessibility */ ) { @Override public void onDrawerClosed(View drawerView) { super.onDrawerClosed(drawerView); if (!isAdded()) { return; } getActivity().supportInvalidateOptionsMenu(); // calls onPrepareOptionsMenu() } @Override public void onDrawerOpened(View drawerView) { super.onDrawerOpened(drawerView); if (!isAdded()) { return; } if (!mUserLearnedDrawer) { // The user manually opened the drawer; store this flag to prevent auto-showing // the navigation drawer automatically in the future. mUserLearnedDrawer = true; SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(getActivity()); sp.edit().putBoolean(PREF_USER_LEARNED_DRAWER, true).apply(); } getActivity().supportInvalidateOptionsMenu(); // calls onPrepareOptionsMenu() } }; 

Не могу понять, что не так. Пожалуйста помоги

Solutions Collecting From Web of "Иконка гамбургера не отображается в фрагменте навигационного ящика"

У меня тоже была эта проблема. Для меня импорт android.support.v7.app.ActionBarDrawerToggle вместо android.support.v4.app.ActionBarDrawerToggle исправил его. Вы также должны удалить аргумент R.drawable.ic_drawer когда вы определяете mDrawerToggle:

mDrawerToggle = new ActionBarDrawerToggle( getActivity(), mDrawerLayout, R.string.navigation_drawer_open, R.string.navigation_drawer_close )

Если это не сработает, попробуйте некоторые ответы на этот вопрос .

Принятый ответ не решал его для меня, я узнал, что у меня неправильное переопределение для onPostCreate

 @Override public void onPostCreate(Bundle savedInstanceState, PersistableBundle persistentState) { super.onPostCreate(savedInstanceState, persistentState); mDrawerToggle.syncState(); } 

Это должно быть

 @Override public void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); mDrawerToggle.syncState(); }