Android Studio升级3.0之后趟的坑

来源:互联网 发布:sql 查询 select like 编辑:程序博客网 时间:2024/05/24 05:14

看了android studio3.0的特性分析的相关文章(https://mp.weixin.qq.com/s/2XmVG4mKEDX6-bvZ0vvmcw 等)后,决定升级(我当前版本是2.3.3).基于以往升级所遇的坑的经验,我在升级前详细搜索了查看了别人的升级之旅,避坑…嗯 呵呵呵
升级过程中遇到的一些问题,都能按找网上已有的方法解决
http://www.jb51.net/article/127071.htm
http://blog.csdn.net/qqcrazyboy/article/details/77900183

升级后 compileSdkVersion为26,因为此时classpath ‘com.android.tools.build:gradle:3.0.0’
此时v4包的版本是27.0.0 。 报bug了,KeyEventCompat类(我项目中用它的hasNoModifiers等方法来做的ViewPager的懒加载)找不到,回看25.3.1版的v4包中此类是存在的,于是各种找、切换各种版本号都无用,最后确认这个类在27.0.0版本中是不存在的。但是问题还是需要解决的,最后查看源码 才知道这个hasNoModifiers方法已经被KeyEvent实现了。
贴出解决此处修改的用于实现ViewPager懒加载方法的部分代码

    public boolean executeKeyEvent(KeyEvent event) {        boolean handled = false;        if (event.getAction() == KeyEvent.ACTION_DOWN) {            switch (event.getKeyCode()) {                case KeyEvent.KEYCODE_DPAD_LEFT:                    handled = arrowScroll(FOCUS_LEFT);                    break;                case KeyEvent.KEYCODE_DPAD_RIGHT:                    handled = arrowScroll(FOCUS_RIGHT);                    break;                case KeyEvent.KEYCODE_TAB:                    if (Build.VERSION.SDK_INT >= 11) {                        if (event.hasNoModifiers()) {                            handled = arrowScroll(FOCUS_FORWARD);                        } else if (event.hasModifiers(KeyEvent.META_SHIFT_ON)) {                            handled = arrowScroll(FOCUS_BACKWARD);                        }                    }                    break;            }        }        return handled;    }
阅读全文
0 0
原创粉丝点击