2

我有以下活动(想象一下 Pinterest 应用程序):

带有两个按钮的WellcomeActivity - 注册并登录

LogInActivity你来自 WellcomeActivity

SignUpActivity你来自 WellcomeActivity

MainActivity - 您在登录或注册后来到这里。

当用户注册或登录时,我finish()打电话LogInActivitySignUpActivity开始MainActivity。但WellcomeActivity仍然在堆栈中,所以当我按下后退按钮时,我再次进入WellcomeActivity.

启动时我无法调用finish()它,LogInActivity或者SignUpActivity,因为如果用户决定返回,他将退出应用程序。

现在,我如何设计 Activity 转换以具有类似 Pinterest 的逻辑?

4

2 回答 2

0

我有一个类似的应用程序。我所做的是制作一个“登录”和“注册”作为字段的共享首选项文件。当他们注册或登录时,我将这个值设为 true。

在应用程序中,当他们返回主要活动时,我会检查 onActivityResult,如果他们注册或登录,我会完成()活动。

这样,当他们在登录或注册之前返回时,它不会关闭它。我希望你明白。

于 2012-12-02T20:00:05.593 回答
0

参考这个答案

在 WelcomeActivity 中,在启动 LoginActivity 或 SignupActivity 时调用 startActivityForResult() 而不是 startActivity()。然后在 WelcomeActivity 的 onActivityResult() 中,如果 resultCode 为 1,则调用 finish()。

现在,当注册登录成功时,您在登录/注册活动中设置Result(1),它将调用WelcomeActivity 的onActivityResult(),resultCode 为1,并将完成() 它。如果登录或注册失败,则调用 setResult(0)。

同样在 setResult(1) 之后,您 startActivity() 来调用 MainActivity。

于 2012-12-02T20:01:58.397 回答