如何确定后退按钮按下

问题描述 投票:0回答:2

我正在使用android导航组件库。我有两个用导航图设置的片段。我想在片段内按下后退按钮做一些额外的操作。

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

我使用此代码来处理工具栏上的按钮单击,但我也想处理后退按钮按下。我怎样才能做到这一点?

android android-navigation android-architecture-navigation
2个回答
0
投票

它是另一个覆盖onBackPessed

back press


0
投票

例:

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官方指南中的更多解释:Provide custom back navigation

© www.soinside.com 2019 - 2024. All rights reserved.