Вариант возврата не показан

Это мой класс navigation.class, который также является моим основным классом. Он имеет внутри моего навигационного ящика и все фрагменты (фрагменты)

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_navigation33);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);

        toolbar.setNavigationIcon(R.drawable.ic_flash);
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onBackPressed();
            }
        });

        cooLayout=(ConstraintLayout)findViewById(R.id.cooLayout);
        FloatingActionButton myFab = (FloatingActionButton) findViewById(R.id.fabId);
        myFab.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                startActivity(new Intent(navigation33.this,Post.class));
            }
        });
        auth = FirebaseAuth.getInstance();
//        db = FirebaseFirestore.getInstance();

        final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
        authListener = new FirebaseAuth.AuthStateListener() {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                FirebaseUser user = firebaseAuth.getCurrentUser();
                if (user == null) {
                    startActivity(new Intent(navigation33.this, login_user.class));
                    finish();
                }
            }
        };
         drawer = (DrawerLayout) findViewById(R.id.drawer_layout);

        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);

        drawer.addDrawerListener(toggle);

        toggle.syncState();
        setTitle("Appx");

         navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);

        fragmentManager = getSupportFragmentManager();

        myFragmentTransaction = fragmentManager.beginTransaction();
        myFragmentTransaction.replace(R.id.cooLayout, new AllFragments()).commit();
    }

У меня есть ответы здесь, где простое добавление getSupportActionBar().setDisplayHomeAsUpEnabled(true); решает их проблему, но не мою.

<android.support.design.widget.AppBarLayout
    android:layout_width = "match_parent"
    android:layout_height = "wrap_content"
    android:theme = "@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id = "@+id/toolbar"
        android:layout_width = "match_parent"
        android:layout_height = "?attr/actionBarSize"
        android:background = "@color/orange"
        app:popupTheme = "@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>

<include
    layout = "@layout/content_navigation33" />

<android.support.design.widget.FloatingActionButton
    android:id = "@+id/fabId"
    android:layout_width = "wrap_content"
    android:layout_height = "wrap_content"
    android:layout_gravity = "bottom|end"
    android:layout_margin = "@dimen/fab_margin"
    app:backgroundTint = "@color/colorPrimaryDark"
    app:srcCompat = "@drawable/ic_lightbulb" />

Разве это не должно быть по умолчанию, чего мне здесь не хватает? Заранее спасибо! Как это Вариант возврата не показан Как я хочу, чтобы это было Вариант возврата не показан

только вариант назад не показывать ааа? или панель инструментов также не отображается а?

Ranjith Kumar 24.03.2018 21:52

Что ??? показывает панель инструментов, а обратная btn - нет, прежде чем давать -1, прочтите вопрос. @RanjithKumar

someguy 24.03.2018 22:54

Здравствуйте, я не даю -1 .. Я просто хочу ответить на ваш вопрос .. Если вы все еще не верите мне, я докажу это своим голосом против. (Один человек может голосовать только один раз). Перед подачей жалобы убедитесь, что она правильная или неправильная.

Ranjith Kumar 24.03.2018 22:58

привет @someguy, твоя кнопка "Назад" не отображается? Или на нее просто нельзя нажимать?

Levi Moreira 25.03.2018 13:22

@LeviAlbuquerque благодарит вас, он вообще не отображается. Он открывается так же, как вкладки смахивания, а это означает, что значок панели не меняется

someguy 25.03.2018 14:50

Понятно, не могли бы вы опубликовать activity_navigation33.xml?

Levi Moreira 25.03.2018 14:53

также какова ваша основная деятельность? AppCompat? ActionBarActivity?

Levi Moreira 25.03.2018 14:55

@LeviAlbuquerque только что добавил навигацию на панель моего приложения

someguy 25.03.2018 15:18

как насчет вашей деятельности? AppCompact или ActionBar?

Levi Moreira 25.03.2018 15:20

@LeviAlbuquerque - это мое основное занятие, остальные - части areonNavigationItemSelected, onBackPressed. Обычно я заменяю coolayouT (навигация по контенту) фрагментами.

someguy 25.03.2018 18:04

Я понял, я хотел знать, какой класс расширяет ваша основная деятельность, AppCompatActivity или ActionBarActivity?

Levi Moreira 25.03.2018 18:06

AppCompatActivity @LeviAlbuquerque

someguy 25.03.2018 19:55
0
12
71
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте установить значок для своей панели инструментов.

    toolbar.setNavigationIcon(R.drawable.ic_back_arrow);
    toggle.setToolbarNavigationClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            onSupportNavigateUp();
        }
    });

Обновлено:

Я тестировал его здесь, и если вы добавите, можете управлять отображением или скрытием стрелки назад, вызвав это на своем переключаемом объекте:

toggle.setDrawerIndicatorEnabled(false);

Затем снова обновить панель инструментов

    public void onBackPressed() {
...
        toggle.setDrawerIndicatorEnabled(true);

Итак, если вы сделаете это:

ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
 toggle.setDrawerIndicatorEnabled(false);

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

 @Override
    public boolean onSupportNavigateUp() {
        onBackPressed();
        return true;
    }

Это работает только когда:

    myFragmentTransaction.addToBackStack(null);

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

это должно быть внутри моего основного класса

someguy 25.03.2018 21:35

да, сразу после getSupportActionBar (). setHomeButtonEnabled (true);

Levi Moreira 25.03.2018 21:37

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

Levi Moreira 26.03.2018 18:28

Нет, вот и проблема при переходе к пользовательскому фрагменту кнопка вообще не меняется. Я хочу, чтобы она изменилась, как на картинке в твиттере.

someguy 26.03.2018 21:05

он делает то, что я хотел, но когда я нажимаю на него, он не возвращает меня к домашнему фрагменту

someguy 27.03.2018 15:25

Я знаю, я указал вам на ответ, чтобы вы могли решить его сами :)

Levi Moreira 27.03.2018 16:07

toggle.setToolbarNavigationClickListener (new View.OnClickListener () {@Override public void onClick (View v) {onBackPressed ();}}); ... это выводит меня из приложения

someguy 27.03.2018 16:10

Для того, что я видел в вашем коде, вы захотите заменить фрагмент вместо вызова onBackPressed ()

Levi Moreira 27.03.2018 16:12

Узнал, как вернуться назад единственное, что сейчас стоит обновить code toolbar.i put the if (id == R.id.nav_profile) { fragment = new UserFragment(); toggle.setDrawerIndicatorEnabled(false);

someguy 28.03.2018 20:38

Другие вопросы по теме