Кнопка «Назад» не отображается после добавления фрагмента вручную - PullRequest
0 голосов
/ 23 июня 2019

После добавления нового фрагмента вручную кнопка «Назад» не отображается на панели инструментов. Если я использую фрагмент XML, действие работает даже тогда, когда мой фрагмент помещен в XML.

  FragmentTransaction ft 
  =businessOwnersFragment.fragManager.beginTransaction();
                ft.replace(R.id.nav_host_fragment, new 
    ServicesFragment(businessOwnerModel));
                ft.addToBackStack(null);
                ft.commit();

После добавления этого кода кнопка возврата не отображается.

но если я добавлю свой фрагмент как действие:

<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav_graph"
app:startDestination="@id/homeFragment">
<fragment
    android:id="@+id/homeFragment"
    android:name="com.mawaeed.businessowner.BusinessOwnersFragment"
    android:label="@string/home_title"
    tools:layout="@layout/fragment_busnissowner" >
    <action
        android:id="@+id/action_homeFragment_to_serviceFragment"
        app:destination="@id/serviceFragment" />
</fragment>
<fragment
    android:id="@+id/serviceFragment"
    android:name="com.mawaeed.businessowner.services.ServicesFragment"
    android:label="@string/nav_example1"
    tools:layout="@layout/fragment_services" />

Показывается кнопка «Назад».

public void setUpToolbar() {
    setSupportActionBar(toolbar);
    ActionBar supportActionBar = getSupportActionBar();
    if (supportActionBar != null) {
        supportActionBar.setDisplayHomeAsUpEnabled(true);
        supportActionBar.setDisplayShowHomeEnabled(true);
    }
}

Я знаю, что могу добавить:

 Toolbar toolbar = myContext.findViewById(R.id.toolbar);

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

Но я хочу сделать это автоматически.

Я хочу показать кнопку «Назад» при добавлении моего фрагмента без добавления дополнительного кода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...