聆听-花语 2017-02-23 00:53 采纳率: 34.8%
浏览 1178

android fragment广播问题

从A类跳转到B类,B类有个发送广播的按钮!第一次发送广播,在fragment中接收并执行b操作!当我退到A类,再跳转B类后,再点击按钮发送那个广播,在fragment中会执行两次b操作!我退三次,就会执行三次b操作!
这是怎么回事呢?
代码如下:
B类中发送广播:
Intent inten = new Intent("android.intent.action.Fa");
LocalBroadcastManager.getInstance(CommodityActivity.this).sendBroadcast(inten);
侧滑fragment接收广播:
LocalBroadcastManager broadcastManager2 = LocalBroadcastManager.getInstance(getActivity());
IntentFilter intentFilter2 = new IntentFilter();
intentFilter2.addAction("android.intent.action.guafff");
BroadcastReceiver mItemViewListClickReceiver2 = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent inten) {
Log.e("b操作","b操作");
}
};
broadcastManager2.registerReceiver(mItemViewListClickReceiver2, intentFilter2);

打印日志:
第一次进B类:E/b操作: b操作
第二次进B类:E/b操作: b操作
E/b操作: b操作
第三次进B类:E/b操作: b操作
E/b操作: b操作
E/b操作: b操作
。。。
。。。
。。。
就这么多,我还该怎么改过来?求大神解答,甚急!甚急!!
无悬赏金币,可加QQ:379077640!需要的话,必有感谢!

  • 写回答

1条回答 默认 最新

  • 聆听-花语 2017-02-23 01:50
    关注

    已解决!fragment中添加:
    @Override
    public void onDestroyView() {
    super.onDestroyView();
    broadcastManager2.unregisterReceiver(mItemViewListClickReceiver2);
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?
  • ¥50 invest生境质量模块