我正在使用android导航组件库。我用导航图设置了两个片段。我想在片段内部按下后退按钮时执行一些其他操作。
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return NavigationUI.onNavDestinationSelected(item, view!!.findNavController())
|| super.onOptionsItemSelected(item)
}
我使用此代码来处理工具栏上的按钮单击,但是我也想处理后退按钮的按压。我该怎么办?
答案 0 :(得分:0)
这是onBackPessed的另一个替代
答案 1 :(得分: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