我已经看过关于此主题的示例,例如使用finish()
和flags
(仍然不确定标志)。我的问题是我有3个活动,登录,SignUp和Home。用户可以通过登录或注册来到家。主页包含注销按钮。所需的操作是当用户按下注销时,它们将返回到“登录”屏幕。但是,如果用户注册然后注销,则会再次返回到注册活动。什么是最佳解决方案/策略?请提供示例或说明。
答案 0 :(得分:2)
1.如果您不希望用户在注销后重定向到注册,如果他来自注册屏幕,那么您可以在注册屏幕意图上使用finish()。 在homeActivity()之前的注册中调用finish()。 和家庭使用
Intent i=new Intent(HomeActivity.this, LoginActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
HomeActivity.this.finish();
2.如果您希望用户支持注册活动,那么当您将用户重定向到主页活动并在注销按钮上调用finish()时,请不要在您的登录和注册活动上调用完成。在这里,你将重定向到你来的活动
答案 1 :(得分:0)
如果您希望从HomeActivity
到达SignUpActivity
,请执行此操作
Intent intent=new Intent(SignUpActivity.this, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
SignUpActivity.this.finish();
当你做登录时这样做
Intent intent=new Intent(LoginActivity.this, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
LoginActivity.this.finish();
当您要退出时
Intent intent=new Intent(HomeActivity.this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
HomeActivity.this.finish();
因此,当您退出时,您的筹码中只有一个Activity
,而LoginActivity
答案 2 :(得分:0)
在登录活动中:
Intent intent = new Intent(this, Home.class);
startActivity(intent);
finish();
在注册活动中:
Intent intent = new Intent(this, Home.class);
startActivity(intent);
finish();
在Home活动中,单击注销时运行此选项:
Intent intent = new Intent(this, Login.class);
startActivity(intent);
finish();