Как определить нажатие кнопки назад - PullRequest
0 голосов
/ 07 апреля 2019

Я использую библиотеку компонентов навигации Android.У меня есть два фрагмента с графиком навигации.Я хочу выполнить некоторые дополнительные действия при нажатии кнопки «Назад» внутри моего фрагмента.

override fun onOptionsItemSelected(item: MenuItem): Boolean {
    return NavigationUI.onNavDestinationSelected(item, view!!.findNavController())
           || super.onOptionsItemSelected(item)
}

Я использую этот код для обработки нажатия кнопки вверх на панели инструментов, но я также хочу обрабатывать нажатие кнопки назад.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

Пример:

public class MyFragment extends Fragment {

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // This callback will only be called when MyFragment is at least Started.
        OnBackPressedCallback callback = new OnBackPressedCallback(true /* enabled by default */) {
            @Override
            public boolean handleOnBackPressed() {
                // Handle the back button event
            }
        });
        requireActivity().getOnBackPressedDispatcher().addCallback(this, callback);

        // The callback can be enabled or disabled here or in handleOnBackPressed()
    }
    ...
}

Более подробные объяснения в Android официальном руководстве: Обеспечить пользовательскую обратную навигацию

0 голосов
/ 07 апреля 2019

Это еще одно переопределение onBackPessed

назад нажмите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...