0

我正在尝试查找是否有可能在 Java 对象上有一个“未找到方法”“捕捉器”,以便可以将该方法发送到另一个您知道具有该方法的对象。

这在其他语言中是可能的,但我从未在 Java 上看到过类似的东西。我猜不是......因为你不能做 myObject."methodName"(params); 形式的东西。但是,您可以在扩展 Java 的 Groovy 中使用。

我想要实现的是在其内容被夸大的自定义视图对象中使用 XML 布局上的 android:onClick 属性。

问题在于 onClick 属性在父 Activity 上而不是在自定义 View 中搜索方法,这导致程序失败。

我宁愿在我的自定义视图上简单地使用 setOnClickListener(this),但由于其他原因,我们试图避免这种情况,而且不是很干净。

有谁知道替代方案?

提前致谢!

4

1 回答 1

0

您对自 1.0 版以来 Java 支持的反射很感兴趣。myObj."methodName"()是的,您可以说不支持类似的语法:

myObj.getClass().getMethod("myMethod").invoke(myObj).

有关详细信息,请查看反射。

于 2011-11-15T18:43:36.917 回答