怎么通过反射拿到 AbsListView 类中的 RecycleBin 对象,然后同样再用反射去调用 clear 方法的例子
解决方案 »
- 让listView默认执行第一个item android
- 开发android该如何调试
- 请教:开发环境下,通过Android模拟器如何退回到主界面?
- 新人求助,如何模拟鼠标点击屏幕?
- 为何报错?
- android源代码中(Activity.java)存在大量的回调函数,用意何在?
- android studio 没有目录
- android "已允许xx获取权限"能去掉吗
- 求大神解答问题。一个很简单的相应问题,困扰很久了拜托了。
- eclipse无法创建 Activity ,提示 End position lies outside document range错误
- Android微信客户端菜单选项中的横线如何实现
- 新手问题,关于gridview空指针
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
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();
}
}
关于反射这个东西其实还算简单,凡事多写写就好了,里面没几个方法的,多试试就可以了。