Изменить значок ящика назад

Я использую новый DrawerLayout, чтобы иметь боковую навигацию. Я использую значок ящика ( "гамбургер" ) следующим образом:

@Override
protected void onStart() {
    super.onStart();

    mDrawerLayout = (DrawerLayout) findViewById(R.id.activity_main_drawerlayout);
    mDrawerToggle = new ActionBarDrawerToggle(
            this, 
            mDrawerLayout, 
            R.drawable.ic_navigation_drawer, 
            R.string.app_name, 
            R.string.app_name);
    mDrawerLayout.setDrawerListener(mDrawerToggle);

    getActionBar().setDisplayHomeAsUpEnabled(true);
    getActionBar().setHomeButtonEnabled(true);
}

Однако, когда я добавляю Fragment в backstack, я хочу снова отобразить обратную стрелку, чтобы пользователь мог вернуться к "home" и только затем открыть ящик приложения.

Как я могу reset значок ящика на задний значок?
Стрелка, которую я хочу:

Navigation Drawer

Ответ 1

Чтобы отключить и скрыть DrawerToggle "Hamburger", просто позвоните

mDrawerToggle.setDrawerIndicatorEnabled(false);

Ответ 2

Я создал интерфейс для хостинговой деятельности, чтобы обновить состояние представления меню гамбургера. Для фрагментов верхнего уровня я устанавливаю toggle на true и для фрагментов, для которых я хочу отображать up < arrow Я установил переключатель в false.

public class SomeFragment extends Fragment {

    public interface OnFragmentInteractionListener {
        public void showDrawerToggle(boolean showDrawerToggle);
    }

    private OnFragmentInteractionListener mListener;

    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        try {
            this.mListener = (OnFragmentInteractionListener) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString() + " must implement OnFragmentInteractionListener");
        }
    }

    @Override
    public void onResume() {
        super.onResume();
        mListener.showDrawerToggle(false);
    }
}

Затем в моей деятельности...

public class MainActivity extends Activity implements SomeFragment.OnFragmentInteractionListener {

    private ActionBarDrawerToggle mDrawerToggle;

    public void showDrawerToggle(boolean showDrawerIndicator) {
        mDrawerToggle.setDrawerIndicatorEnabled(showDrawerIndicator);
    }

}