我正在使用NavController
来启动用于登录/注册流程的活动-该活动具有自己的导航图。
现在,我想在LoginActivity
中包含MainActiviy
(成功,失败)的结果来更新UI。
MainActvity (start)-> LoginActivity
MainActvity <-(result) LoginActivity end
是否可以通过导航组件来处理这种情况,还是必须使用类似startActivityForResult(LoginActivity...)
的东西来获取
LoginActivity
的结果?
还是有更好的方法?我认为可能的解决方案可能是在Activity之间使用相同的viewModel实例,但不确定是否可行。 :-/
答案 0 :(得分:0)
startActivityForResult非常适合这些用例。如果登录成功,则您将发送类似的数据,并在用例中通知MainActivity登录成功。
Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(Activity.RESULT_OK,returnIntent);
finish();
如果未成功登录,则:
Intent returnIntent = new Intent();
setResult(Activity.RESULT_CANCELED, returnIntent);
finish();