0
在我的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()方法是指活動而不是片段類。
我怎樣才能把它引用片段類?不過,請記住,我的圖書館可以用於任何地方,包括活動本身。所以我不想要的是引用片段的上下文,而是任何類的上下文恰好是使用該庫的那個上下文。