草庐IT

findviewbyid

全部标签

java - 不再需要 Android O 转换为 findViewById?

这个问题在这里已经有了答案:NoneedtocasttheresultoffindViewById?(6个回答)关闭4年前。我最近在AndroidStudio中将我的androidSDK和构建工具更新为API26,当我执行以下操作时,我直接注意到AndroidStudio将我的View转换标记为“冗余”:TextViewitemName=(TextView)findViewById(R.id.menuItemName);经过一番研究,我发现从SDK26开始,findViewById使用Java8的特性来返回相同的对象类型,但我想知道的是,删除所有强制转换是否完全安全。这会在26之前的A

android - 升级到编译 sdk 版本后 findViewById 出错

升级编译SDK版本26后,所有findViewById显示错误:notenoughinformationtoinferparameterTinfunfindViewById(id:Int):T! 最佳答案 这是因为从AndroidO开始,我们不需要强制转换它。有几个选项。替换:valtextInput=findViewById(R.id.edit_text)asTextInputLayout任一个:valtextInput:TextInputLayout=findViewById(R.id.edit_text)或者:valtextI

android - 不需要转换 findViewById 的结果?

最近我发现AndroidStudio提醒我删除一些类转换。我记得以前我们必须转换findViewById的结果,但现在没有必要了。findViewById的结果还是View,所以我想知道为什么我们不需要强制转换类?我找不到任何提到的文件,任何人都可以找到任何文件吗? 最佳答案 从API26开始,findViewById对其返回类型使用推理,因此您不再需要强制转换。旧定义:ViewfindViewById(intid)新定义:TfindViewById(intid)所以如果你的compileSdk至少是26,这意味着你可以利用这个:)