我正在使用android导航组件库。我有两个用导航图设置的片段。我想在片段内按下后退按钮做一些额外的操作。
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return NavigationUI.onNavDestinationSelected(item, view!!.findNavController())
|| super.onOptionsItemSelected(item)
}
我使用此代码来处理工具栏上的按钮单击,但我也想处理后退按钮按下。我怎样才能做到这一点?
它是另一个覆盖onBackPessed
例:
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