我尝试的方法:
1.直接调用,行不通。
2.强转,反射,也报错。
ProgressBar instance = (ProgressBar) this;
@SuppressWarnings("unchecked")
Class<ProgressBar> clazz = (Class<ProgressBar>) instance.getClass();
try {
progressBarOnDraw = clazz.getDeclaredMethod("onDraw", Canvas.class);
progressBarOnDraw.setAccessible(true);
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
if (progressBarOnDraw != null) {
try {
progressBarOnDraw.invoke((ProgressBar) this, canvas);
} catch (IllegalAccessException | IllegalArgumentException
| InvocationTargetException e) {
e.printStackTrace();
}
} else {
super.onDraw(canvas);
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
<spanstyle="font-family:Consolas,'CourierNew',Courier,mono,serif;font-size:12px;line-height:18px;background-color:#F5FAE2;"> method.setAccessible(<spanstyle="color:blue;font-weight:bold;font-family:Consolas,'CourierNew',Courier,mono,serif;font-size:12px;line-height:18px;background-color:#F5FAE2;">true<spanstyle="font-family:Consolas,'CourierNew',Courier,mono,serif;font-size:12px;line-height:18px;background-color:#F5FAE2;">); 我设置了,还是不行呢。super.method();