我目前正在开发一个Java SDK,该SDK需要由原始开发人员安装到他现有的Android应用程序中。现在我需要设置一些事件监听器,例如:
public void registerTouchListener(ScrollView scrollview) {
scrollview.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.d("SDK", event.toString());
return false;
}
});
}
问题在于传入的ScrollView可能已经注册了一个监听器,因此我的问题是如何连接到现有的监听器或注册第二个监听器?
ScrollView
监听器,您可以自己实现组合模式,将事件转发给两个监听器。然后,详细记录这一点,以便开发人员知道您正在拥有触摸监听器,并且他们需要调用您的API而不是自己调用setOnTouchListener()
。 - CommonsWare