Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 使用setOverScrollMode反射时遇到麻烦大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望能够关闭过度滚动(在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反射时遇到麻烦全部内容,希望文章能够帮你解决android – 使用setOverScrollMode反射时遇到麻烦所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。