Android / Java:使用反射调用方法吗?

贾里德:

我有一个名为choiceDialog(String s,int i)的静态方法,在该方法中,我想根据提供给choiceDialog的参数在同一类(Dialogs.class)中调用另一个方法。s是所需方法的名称,而i是单个参数。

我已经尝试了许多教程,并花了几个小时阅读有关该主题的内容,但是我似乎无法确切地了解我需要做什么。

有任何想法吗?

谢谢!

艾克斯达克斯:

为什么要使用在String参数中传递的名称来调用方法?您不能为不同的动作创建一个常量,然后使用switch并在每种情况下调用带有参数的方法i吗?

您将受益于编译器检查代码中的错误。

编辑:如果您确实要使用反射,请使用以下方法检索Method对象:

Method m = YourClass.class.getMethod("method_name",new Class[] { Integer.class }) 

我猜可能是Integer.class。然后将方法调用为

m.invoke(null,123); //first argument is the object to invoke on, ignored if static method

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章