我正在开发一个登录不是强制性的应用程序,但是在侧边应用程序中有一些应用程序要求用户登录的事件。登录完成后,我想恢复该过程。例如,如果用户未登录并点击"喜欢"按钮,app将用户重定向到登录活动。现在我希望在登录完成后#34;喜欢"点击也将被执行。除了喜欢之外,还有更多这样的类型按钮。请帮忙......
答案 0 :(得分:1)
有几种方法可以做到这一点(片段,静态字段分享状态,并执行其他等操作。)但在我看来,使用flag
和startActivityForResult
是最好的事情在这种情况下并确保可重用性,您可以使用多个键映射一组事件,并在收到与事件关联的正确密钥后调用这些事件而不是分离的标志
提示:通过intents
发送。
我会在这里使用一个标志,例如,如果您希望在用户登录后执行此类操作。
在您的 CurrentActivity 中,使用like按钮,设置实例static boolean isValid=false;
,然后使用:
Intent i = new Intent(this, Login.class);
startActivityForResult(i, 1);
在 Login.class :
中 //perform login
Intent i = new Intent();
//reset isValid to true
setResult(Activity.RESULT_OK,i);
finish();
在 CurrentActivity.class:
中//re-trigger the click event
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1 && isValid) {
if(resultCode == Activity.RESULT_OK){
//like
}
}
}
答案 1 :(得分:0)
您可以将登录屏幕用作DialogFragment
,这样它就可以充当Dialog
,通过这种方式您可以使用Activity
中的回调方法处理上一个点击事件。 / p>