android studio findviewbyid 强转,AndroidStudio升级到3.x

前言

今天Android Studio推送了3.0正式版,升级之后遇到了几个问题,记录下来,避免再犯

改变高版本源码

首先就是 findViewById 的改动,看源码得知

底层的源码做了改动,不用再每次都强转View,

@SuppressWarnings("TypeParameterUnusedInFormals")

@Override

public T findViewById(@IdRes int id) {

return getDelegate().findViewById(id);

}IDE

09de8499289f0d37c02b7cd7f1622a5c.png

如图所示,会有提示,IDE并且已经支持KotlinJava8,这样的新特性诱惑,不得不升级啊

问题

anim

以前是这样写的

@anim/bottomview_anim_enter

@anim/bottomview_anim_exit

编译并没有问题,但是升级了之后提示bottomview_anim_exit找不到,IDE并且也跳转不到

去掉了@编译通过

anim/bottomview_anim_enter

anim/bottomview_anim_exit

findViewById

在 api 26之后,源码进行了改变,如果使用Kotlin,会报错

Type inference failed: Not enough information to infer parameter T in fun findViewById(p0: Int): T!

Please specify it explicitly.

主要是因为返回的泛型是不明确的,kotlin不能推断出类型

findViewById(id)

可改为

findViewById(id)

即可编译通过

gradle version

如果升级到 3.x 版本遇到了 gradle build 问题

将 com.novoda:bintray-release 升级到0.5.0即可

改进

gradle升级到3.0.0

compile依赖改为implementation or api

建议是如果implementation依赖没问题,那就用implementation,如果有问题改为api,因为api就是以前的compile,只不过是改个名字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值