【发布时间】:2015-04-24 09:35:18
【问题描述】:
在我的 Android 应用中,片段使用了我编写的库。我需要做的是使用反射让库中的方法访问片段中的方法。我的代码如下所示:
Context c = getContext();
Class[] paramTypes = new Class[2];
paramTypes[0] = int.class;
paramTypes[1] = boolean.class;
java.lang.reflect.Method method = c.getClass().getMethod("someMethod", paramTypes);
method.invoke(c, id, selected);
如果方法“someMethod”被放置在片段类中,它永远不会被调用。但是,如果我将它放在片段所属的活动中,它将被调用。看来 getContext() 方法指的是活动而不是片段类。
我怎样才能让它引用片段类?但是,请记住,我的库可以在任何地方使用,包括活动本身。所以我不想引用片段的上下文,而是引用恰好是使用该库的类的上下文。
【问题讨论】:
标签: android