我正在使用的库有一个 Android Activity 。我想将回调传递给 Activity ,以获取某些用户事件的通知,例如当用户输入特定代码或在屏幕上绘制某些内容时。我无法找到一种方法将回调传递给 android Activity 。
注意:我可以编辑库,但是,出于架构原因和易于测试而不与更大的应用程序集成的目的,我更喜欢将 Activity 保留在库中。
解决这个问题的最佳方法是什么? Android 有设计模式吗?
最佳答案
What is the best possible way to solve this?
修改 Activity 以在发生这些事件时在事件总线(greenrobot 的 EventBus、Square 的 Otto、LocalBroadcastManager
)上发布事件。然后,在应用中的其他位置监听这些事件。
I prefer to leave the activity within the library for architectural reasons and ease of testing without integrating with the larger app
然后说服库的开发人员修改 Activity ,以便在发生这些情况时在事件总线(greenrobot 的 EventBus、Square 的 Otto、LocalBroadcastManager
)上发布事件。然后,在其他地方监听这些事件您的应用程序。
或者,说服开发人员提供一些其他方法来实现此目的(例如,您对 Activity 进行子类化并重写某些方法以获取这些事件的通知)。
关于android - 将回调传递给库中的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32850649/