美文网首页
android利用广播实现本界面数据发生改变之后操作另外一个界面

android利用广播实现本界面数据发生改变之后操作另外一个界面

作者: 彧哥哥 | 来源:发表于2018-05-04 12:46 被阅读0次

    先说一下我的需求,正在做公司的项目,个人中心界面A(一下简称A界面)是四个主界面的一个也就是底部导航中的最后一个,然后个人中心会有一个子界面设置以及修改个人信息的界面B(以下简称界面B),在B界面修改了信息之后跳回来之后不是需要A界面重新刷新界面嘛,当时图简单就直接在onReStart()重新请求数据。但是后来发现这样会造成流量浪费,没有修改信息的时候还是一样会重新请求。所以就想到用广播来优化下。好,话不多说,直接上代码。

    放在界面A(也就是需要接收广播的界面)的初始化方法里面OnCreate()之类的

    //注册广播  
           IntentFilter filter = new IntentFilter(界面B.action);  
           getActivity().registerReceiver(broadcastReceiver, filter);  
    

    扔在界面A里面当成个内部类

    BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {  
      
           @Override  
           public void onReceive(Context context, Intent intent) {  
               // TODO Auto-generated method stub  
                
      
               就是在这里做你想让接收到广播后让界面A做的事情,就是这里,放心大胆的写  
      
      
           }  
       };  
    

    放在界面B的声明玩意儿的地方(action就是广播接收着和广播发送者的一个标识,随便定义)

    public static final String action = "hahahahahahhahahahaha";  
    

    然后就在界面B里你改变了什么东西完成之后发送下广播,代码如下

    Intent intent = new Intent(action);  
    intent.putExtra("data", "yes i am data");  
    sendBroadcast(intent);  
    

    我写的就是个简单的利用动态广播的方法而已,如果是要看广播是个啥的还是不要看啦,只是写这放这,万一有人需要但是一时又没有想到这种方法呢.........万一,万一........直接按照我说的方式往里扔代码就行了

    相关文章

      网友评论

          本文标题:android利用广播实现本界面数据发生改变之后操作另外一个界面

          本文链接:https://www.haomeiwen.com/subject/rkddrftx.html