参见英文答案 > No need to cast the result of findViewById? 5个
我最近在AndroID Studio中更新了我的androID SDK和构建工具到API 26,我直接注意到当我做这样的事情时,AndroID Studio将我的视图转换标记为“多余”:
TextVIEw itemname = (TextVIEw) findVIEwByID(R.ID.menuItemname);
经过一些研究,我发现自从SDK 26以来,findVIEwByID使用Java 8功能返回相同的对象类型,但我想知道的是删除所有强制转换是否完全安全.这会在26之前导致AndroID上出现任何问题吗?有关这方面的任何更多信息将有所帮助,因为我在互联网上找不到太多.提前致谢.
解决方法:
您注意到方法签名已更改,现在看起来像:
public <T extends VIEw> T findVIEwByID(int ID);
与旧的(SDK 26之前)相比:
public VIEw findVIEwByID(int ID);
因此,只要您使用SDK 26(或更新版本)来编译项目,就可以安全地从代码中删除强制转换,因为您将使用不再需要它的新findVIEwByID().
so having a lower minSdk than 26 will not cause an issue ?
不,minSdk和targetSdk都不重要.重要的是compileSdk必须是26或更高.
总结以上是内存溢出为你收集整理的java – 不再需要AndroidO转换为findViewById吗?全部内容,希望文章能够帮你解决java – 不再需要AndroidO转换为findViewById吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)