在我的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()方法是指活动而不是片段类。
如何让它引用片段类?但是,请记住,我的库可以在任何地方使用,包括活动本身。所以我不想要的是引用片段的上下文,而是任何类的上下文恰好是使用该库的那个。
答案 0 :(得分:0)
显然,您无法在xml中创建调用片段中的click方法的单击事件。