После добавления нового фрагмента вручную кнопка «Назад» не отображается на панели инструментов.
Если я использую фрагмент 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();
}
});
Но я хочу сделать это автоматически.
Я хочу показать кнопку «Назад» при добавлении моего фрагмента без добавления дополнительного кода