如何总是回到某个活动

时间:2013-12-17 10:44:03

标签: android android-intent android-activity

我已经看过关于此主题的示例,例如使用finish()flags(仍然不确定标志)。我的问题是我有3个活动,登录,SignUp和Home。用户可以通过登录或注册来到家。主页包含注销按钮。所需的操作是当用户按下注销时,它们将返回到“登录”屏幕。但是,如果用户注册然后注销,则会再次返回到注册活动。什么是最佳解决方案/策略?请提供示例或说明。enter image description here

3 个答案:

答案 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();