80,350
社区成员
发帖
与我相关
我的任务
分享
private void ListViewClearRecycler(AbsListView listView) {
try {
Field field = AbsListView.class.getDeclaredField("mRecycler");
field.setAccessible(true);
Object result = field.get(listView);
Class<?>[] classes = AbsListView.class.getDeclaredClasses();
for (Class<?> cls : classes) {
if(cls.getSimpleName().equals("RecycleBin")) {
Method clear = cls.getDeclaredMethod("clear");
clear.setAccessible(true);
clear.invoke(result);
break;
}
}
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
关于反射这个东西其实还算简单,凡事多写写就好了,里面没几个方法的,多试试就可以了。class C {
fun declaredFun() {}
}
fun classReferences(): String {
val c = C()
return c::class.declaredFunctions.first().name
}
//Activity onCreate方法里 reflection_text.text = classReferences()
今天刚写了一个反射的博客
http://blog.csdn.net/leonbec/article/details/78883276