gpt4 book ai didi

android - 在 setOverScrollMode 中使用反射时遇到问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:08:19 38 4
gpt4 key购买 nike

我希望能够关闭过度滚动(在 2.3+ 中到达页面顶部或底部时的发光效果)但是我也希望我的代码在甚至没有过度滚动功能的旧版本的 android 中运行.根据此处的文档:Android Backwards Compatibility我在我的自定义 webview 类中使用反射来调用 setOverScrollMode 但是每次我在运行 2.3.4 的设备上调用它时,我都会收到 NoSuchMethodException。知道为什么我无法检索此方法吗?

奇怪的是,如果我只是调用 setOverScrollMode 而没有任何反射,它会起作用,所以该方法肯定存在。

public class MyWebView extends WebView{

public void compatibilitySetOverScroll(){
try {
Method mWebview_SetOverScroll = WebView.class.getMethod("setOverScrollMode", new Class[] { Integer.class } );
/* success, this is a 2.3+ */
if (mWebview_SetOverScroll != null) {
try {
mWebview_SetOverScroll.invoke(this, 2);
} catch (InvocationTargetException ite) {
throw new RuntimeException(ite.getCause());
} catch (IllegalAccessException ie) {
System.err.println("unexpected " + ie);
}
}
} catch (NoSuchMethodException nsme) {
/* failure, must be older device */
}
}
}

最佳答案

尝试使用 Integer.TYPE 而不是 Integer.class

关于android - 在 setOverScrollMode 中使用反射时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6687612/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com