安卓跳转登录后如何记录之前的操作的问题思考

总体思路:

思路1 跳转,带上命令,登录后,通过EvnetBus通知原来的界面,由原理的界面执行登录后的行为

思路2 使用startActivityForResut,如果没有登录,在登录后在onActivityResult方法中判断登录的行为


思路1:简单代码


前 

if (AccountManager.getInstance().isLogin())
            startActivity(InfoEditActivity.class);
        else
            openLogin(Constants.CODE_sasa_INFO);



    public void onEventMainThread(LoginEvent event) {
        boolean handle = false;
        int code = event.getCode();
        switch (code) {
            case Constants.CODE_MINE_2_INFO:
                handle = true;
                onInfoClick();
                break;


===========


思路3:上面两种其实都是通过传命令字的方法,还有一种通过传递回调函数的方式,这种方式是否可行存在争议,也

很少见,因为这里涉及到了一个Activity去调用另外一个Activity里面的对象的方法,这种情况十分可行呢?


其实EevntBus中的onEventMainThread方法不是什么重新方法(看下图),这个方法最终应该是被Activity对象本身去调用的,

而不是别的Activity去操作的,如果通过接口传递,也就意味着别的Activity会操作上一个Activity的成员变量里面的方法(回调方法)

道理上基本是一致的,不同点是一个是直接传递,一个是注册在一个方法

如果在生命周期没有问题的情况下,思路3看起来更加的简介,不需要再使用命令字前后对照

 startActivity(LoginActivity.class, bundle);

看来是可行的,但是怎么把回调对象从一个acvity对象传递给下一个LoginActivity呢,好像不行啊,EevntBus这个方式其实是先把这个对象放在一个地方 这样是可以的





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值