手动添加片段后,后退按钮不显示

时间:2019-06-23 20:49:10

标签: android android-fragments

手动添加新片段后,后退按钮未显示在工具栏上。 如果我使用的是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();
        }
    });

但是我想使它自动执行。

我想在添加片段时显示后退按钮,而无需添加额外的代码

0 个答案:

没有答案