问题描述
- Android中能在一个自定义view中注册广播并发出广播吗
-
我写的一个Android程序中自定义了一个view,自己画了一个钟表,那个钟表可以调时间,因为调时间的过程中数据是不停的变化的,我想让这变化不停的时间显示在自定义view底下的TextView,虽然我写了一个get方法得到时间并显示在textView中,到get方法只执行了一次,所以并没有变化更新效果,所以我想法是在自定义view中发送广播,只要是表在调整就一直发送最新数据,可是好广播一直报错,是不是广播只能在activity中才能发送,或者各位大神有更好的思路吗?
解决方案
可以在view里面发广播的,,
view里面不是有一个:public ViewName(Context context){} 这种类型的构造方法吗?
这个Context就是activity,你可以将这个context保存下来。
当你需要发广播的话,可以调用:context.sendBoradCast(..)来发送广播。
解决方案二:
--------------------应该可以的
解决方案三:
可以的,用context
解决方案四:
1 用回调试试
2 广播比较重量级,频繁发送不是一个好的选择,但是肯定行,它的引用主体是Context,不局限于Activity。
解决方案五:
重量级广播不太合适,建议在重绘的时候使用接口回调,参数是当前事件
解决方案六:
可以发送广播,需要关联对应的context上下文
时间: 2024-11-01 15:00:56