我正在开发一个 android,当我按下设备后退按钮时,我会转到上一个片段。我想要实现的是,当我按下设备后退按钮时,我不想转到上一个片段。我怎样才能实现。
问问题
1696 次
2 回答
0
您必须在添加或替换片段时调用 addtobackstack("name")。在调用下一个片段之前删除此函数,您将不会返回到前一个片段进行进一步描述
于 2016-02-24T12:25:31.737 回答
0
不要将该片段添加到您正在调用的新片段的后台堆栈中。请看下面的示例,我用来向您解释这是如何工作的。
要使该片段再次出现,只需将该片段添加到您想要返回的 backstack 中,例如:
btnSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Fragment fragment = new LoginFragment();
//replacing the fragment
if (fragment != null) {
FragmentTransaction ft = ((FragmentActivity)getContext()).getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, fragment);
ft.addToBackStack("SignupFragment");
ft.commit();
}
}
});
在上述情况下,我在按下登录按钮时打开了一个 LoginFragment,现在我在 SignupFragment 中。因此,如果我调用 addToBackStack(TAG), TAG = "SignupFragment",那么当在 LoginFragment 中按下后退按钮时,我们就会来到 SignUpFragment。快乐编码!
于 2018-01-25T12:04:00.680 回答