手动添加新片段后,后退按钮未显示在工具栏上。 如果我使用的是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();
}
});
但是我想使它自动执行。
我想在添加片段时显示后退按钮,而无需添加额外的代码