当前位置: 代码迷 >> Android >> 安卓activity之间互相通信的有关问题
  详细解决方案

安卓activity之间互相通信的有关问题

热度:90   发布时间:2016-04-28 04:06:30.0
安卓activity之间互相通信的问题
大侠,如果我想在activity A中启动activity B,然后activity A还能向B发送状态信息,B再根据A发送来的状态决定自身的变化,比如A发送退出命令,B接收之后就finish,这样的想法能实现吗?
之所有有这样的需求是因为,比如在登录的时候,考虑到网络延迟的关系,在用户点按钮时,我想要出现一个loading的界面,覆盖在登录界面上面,然后当服务端返回成功,loading的那个界面就变成一个对号√的图片,失败就变成一个叉×的图片,并且短暂停留之后消失,这样应该怎么样实现呢?
------解决思路----------------------
可以使用Dialog,自定义一个ProgressDialog,点击按钮时,让这个Dialog.show,会有一个覆盖当前页面的弹出层,等完成之后,Dialog.dismiss()就能让Dialog消失,具体可以百度搜索 自定义Loading Dialog,教程挺多的,希望能帮到你
------解决思路----------------------
试试看activity A用startActivityForResult(),在activity B收到数据后根据服务端的数据判断显示哪一张图片,然后activity B返回从服务端获得的数据给activity A并finish(),同时你还可以在activity B的finish之前做其他时,当然这是理论上的,实际你先试试看吧
------解决思路----------------------
网络访问是在子线程里做的,所以你的需求应该是网络子线程和loading activity的通信,而不是loading activity与它父activity的通信。
至于网络子线程和loading activity的通信,采用现成的Looper/Handler模式就可以了。
  相关解决方案