android调用高版本api函数的兼容性问题
来源:互联网 发布:web后端 数据库 编辑:程序博客网 时间:2024/06/13 02:09
有时候代码中调用的一些api函数对api版本有要求,比如ListView的smoothScrollToPosition函数,该函数要求android api版本在8或者以上才可以使用,即要求用户的手机必须是android2.2及其以上的才行。有些同学可能会这么做
try{final int mVersionCode = Integer.valueOf(android.os.Build.VERSION.SDK);Logger.d(TAG, "sdk version=" + mVersionCode);} catch (Exception e) {e.printStackTrace();}if(mVersionCode >= 8){mListView.smoothScrollToPosition(position);}
实际上,上述做法是不行的,在android1.6上就会崩溃,错误为找不到smoothScrollToPosition函数,确切来说,在android2.0以下都会崩溃,原因为java虚拟机启动程序的时候就会检查类信息。
解决办法如下(因为android的内部类是运行的时候动态加载的)
if(mVersionCode >= 8){new Object() { public void smoothScrollToPosition(ListView mListView, int position) { mListView.smoothScrollToPosition(position); } }.smoothScrollToPosition(mListView,position); }
- android调用高版本api函数的兼容性问题
- android调用高版本api函数的兼容性问题
- android调用高版本api函数的兼容性问题
- android调用高版本api函数的兼容性问题
- Android低版本上如何调用高版本API
- PB10以上版本调用windows API函数的问题
- Android版本兼容性问题
- 较高版本的Android开线程调用WebService
- Android 高版本的sdk调用相机功能
- Android利用productFlavors 打包不同版本API的调用
- 低版本的兼容性问题
- Android 高版本API方法在低版本系统上的兼容性处理
- Android 高版本API方法在低版本系统上的兼容性处理
- Android 高版本API方法在低版本系统上的兼容性处理
- Android 高版本API方法在低版本系统上的兼容性处理
- Android版本演进中的兼容性问题
- android之Notification版本兼容性问题
- Android sdk版本以及兼容性问题
- Error Creating Repository : Database Driver Event, Error occurred loading library libpmora8.so 创建资料
- HttpServletResponse对象
- C/C++ 传递动态内存
- CentOS开机自动运行程序的脚本
- seajs 模块化代码的初步学习
- android调用高版本api函数的兼容性问题
- centOS软件包安装
- JavaScript宝座:七大框架论剑
- LINUX下 informatica9.0.1 启动与关闭
- ArrayList排序
- windows下配置Git服务器
- jetty嵌入到web程序中
- Java 调用 FFMPEG 命令时用 url 作为输入源,Linux 下出现 “no such file or directory” 问题的解决
- 更改git编辑器