Кнопка со стрелкой назад от фрагмента к предыдущему фрагменту - PullRequest
2 голосов
/ 13 апреля 2020

Я создал кнопку со стрелкой назад с помощью кода:

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        ((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        View rootView = inflater.inflate(R.layout.w_output_power, container, false);

        calculatePower(rootView);

        return rootView;
    }

И я не могу реализовать функциональность для go возврата к предыдущему фрагменту при нажатии стрелки назад. Я видел, что это должно быть сделано методом handleOnBackPressed(), но я не уверен, как именно. Заранее спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

В вашей активности, содержащей этот фрагмент, вы можете написать это

  @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                onBackPressed();
                break;
        }
        return super.onOptionsItemSelected(item);
    }
0 голосов
/ 13 апреля 2020

Есть две вещи, которые вам нужно обеспечить.

  1. Ваши фрагменты должны быть правильно добавлены в backstack, чтобы при их вставке во время обратного нажатия он отображал предыдущий фрагмент в backstack. См .: Android Дескриптор фрагмента нажмите кнопку назад

  2. Вам необходимо вызвать onBackPressed от Activity, где вам нужно проверить, является ли фрагмент правильным экземпляром, который вы хотите выложить. См .: { ссылка }

...