Android导航添加回堆栈

时间:2020-01-21 09:28:33

标签: android kotlin android-jetpack-navigation

我尝试使用Android导航组件,但后堆栈有问题。

我有片段A,B.要从A导航到B,我写:

Navigation.findNavController(view).navigate(R.id.a_to_b)

但是如何单击返回的按钮返回A?

1 个答案:

答案 0 :(得分:0)

片段A在您的 backstack 中,因此您只需为按钮实现 click监听器,例如,使用this solution

它提供了一个示例和一些解释:

新版本androidx.activity ver. 1.0.0-alpha07带来了一些 变化

Android官方指南中的更多说明:Provide custom back navigation```java公共类MyFragment扩展了片段{

@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 void handleOnBackPressed() {
            // Handle the back button event
        }
    };
    requireActivity().getOnBackPressedDispatcher().addCallback(this, callback);

祝您编程愉快!