Android Studio升级3.0之后趟的坑

看了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;
    }
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值