我有以下活动(想象一下Pinterest app):
WellcomeActivity ,带有两个按钮 - 注册并登录
来自WellcomeActivity的LogInActivity
SignUpActivity 您来自WellcomeActivity
MainActivity - 您在登录或注册后来到这里。
当用户注册或登录时,我在finish()
或LogInActivity
中拨打SignUpActivity
并启动MainActivity
。但是WellcomeActivity
仍然在堆栈中,所以当我按下“返回”按钮时,我再次进入WellcomeActivity
。
当我启动finish()
或LogInActivity
时,我无法在其中调用SignUpActivity
,因为如果用户决定返回,则会退出该应用。
现在,我如何设计Activity转换以获得类似Pinterest的逻辑?
答案 0 :(得分:0)
我有类似的申请。我所做的是创建一个“登录”和“注册”为字段的共享首选项文件。当他们注册或登录时,我将此值设为true。
在应用程序中,当他们返回主活动时,我检查onActivityResult,如果他们已注册或登录,我完成()活动。
这样,当他们在登录或注册之前返回时,它不会关闭它。我希望你明白。
答案 1 :(得分:0)
从WelcomeActivity,而不是startActivity(),在启动LoginActivity或SignupActivity时调用startActivityForResult()。然后在WelcomeActivity的onActivityResult()中,如果resultCode为1,则调用finish()。
现在,当注册登录成功时,你在login / signup活动中设置了setResult(1),它将调用WelcomeActivity的onActivityResult(),结果为1,并将完成()它。如果登录或注册失败,则调用setResult(0)。
在setResult(1)之后,你可以使用startActivity()来调用MainActivity。