如何在独立的类似onClickListener中使用sendBroadcast

来源:互联网 发布:小猪cms三网通破解版 编辑:程序博客网 时间:2024/05/19 13:08

为了提高程序代码的重用性,我们常常将某些功能独立在单独的文件中,如按钮的onClickListener 之类的过程。但是问题就是,在这种独立的过程类中我们无法直接使用sendBroadcast函数。关于这个问题郁闷了我一个下午,最后才google出解决方法。具体情况是:

由于sendBroadcast()函数只能在Activity、BroadcastReceiver、Service中使用。

我遇到的问题是:我需要在一个单独出来的OnChangeListener的类中调用sendBroadcast发送一条指定的广播。

解决方法:

(假设A为主要的Activity文件,L为独立的Listener类文件。)

1.在L中先定义变量:private A ma;

2.在L中加入函数:public void setA(A a) { ma = a; }

3.在A中,设置监听(假设为ml)后,加上:  ml.setA(this);

4.在L中使用sendBroadcast时:ma.sendBroadcast(xxx);


这样就能保证sendBroadcast实际是在Activity中使用。

原创粉丝点击