как вернуть гамбургскую иконку при заданной иконке? - PullRequest
0 голосов
/ 21 декабря 2018

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

это мойкод

getSupportFragmentManager().addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
        @Override
        public void onBackStackChanged() {
            if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
                toolbar.setNavigationIcon(R.drawable.ic_action_navigation_arrow_back);
                //drawerFragment.mDrawerToggle.setDrawerIndicatorEnabled(false);
                getSupportActionBar().setDisplayHomeAsUpEnabled(true);// show back button
                toolbar.setNavigationOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        onBackPressed();
                    }
                });
            } else {
                //show hamburger
                ///drawerFragment.mDrawerToggle.setDrawerIndicatorEnabled(true);
                toolbar.setNavigationIcon(R.drawable.icon1);
                getSupportActionBar().setDisplayHomeAsUpEnabled(false);
                //drawerFragment.mDrawerToggle.syncState();
                toolbar.setNavigationOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
                        drawer.openDrawer(GravityCompat.START);
                    }
                });
            }
        }
    });

1 Ответ

0 голосов
/ 21 декабря 2018

Если вы используете фрагмент для отображения содержимого и у вас есть одна панель инструментов внутри хоста, вы можете управлять своей панелью инструментов.

    @Override
    public void onResume() {
        super.onResume();
        ActionBar actionBar = ((ActionBarActivity)getActivity()).getSupportActionBar();
        actionBar.setTitle("First Fragment");
        actionBar.setIcon(R.drawable.back_icon);
    } 

Не забудьте позвонить

setSupportActionBar(toolbar)
...