我的MainActivity包含导航抽屉。 在这个抽屉里有一个名为"登录"的项目。 另外,我创建了一个静态变量:
public static boolean SIGNED = false;

目的是在用户点击"登录"后,他将获得一个活动(或片段),他将把他的凭证插入其中。然后,如果凭证正确 - 导航抽屉将包含"退出"相反,它会打开一些其他活动/片段(仅限用户使用。请说" HomeFragment")。
我的登录活动包含:
case R.id.bSign_in:
signIn();
finish();
break;

但当然我无法使用此代码解决问题(在MainActivity中):
case R.id.nav_sign_in:
startActivity(new Intent(this, LoginActivity.class));
if (SIGNED)
fragment = new HomeFragment();
return true;

我能做些什么来解决它? 如果活动和片段之间的解决方案不同 - 我对这两者都感兴趣。
答案 0 :(得分:2)
在Activity返回后执行某些逻辑的标准方法是在活动返回后使用startActivityForResult - 执行onActivityResult,执行代码。
如果是片段,您可以在关闭时直接调用您的Activity(拥有此片段的活动)功能(即用户按下登录按钮)。