Как добавить стрелку назад во фрагменте для обратного действия? - PullRequest
0 голосов
/ 05 мая 2018
 android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay"
    android:id="@+id/appBarLayout">

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


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

код показывает стрелку назад, но как я могу справиться с этим при нажатии на фрагменты

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Просто попробуйте добавить это в свой onActivity, созданный из вашего фрагмента

  getActivity().getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  getActivity().getSupportActionBar().setDisplayShowHomeEnabled(true);

обработать щелчок

toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_action_back));
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
       //What to do on back clicked
   }
});
0 голосов
/ 05 мая 2018

Вы можете обрабатывать app:navigationIcon="?attr/homeAsUpIndicator" для навигации назад, как это

Toolbar toolbar = (ToolBar) view.findViewById(R.id.toolbar);

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        // do whatever you want
    }
});

Вы должны получить переменную «view» следующим образом:

View view = inflater.inflate(R.layout.your_layout_name, container, false);
...