美文网首页Android技术知识Android知识
View.setId在Android studio下使用报错的解

View.setId在Android studio下使用报错的解

作者: Karma1026 | 来源:发表于2016-05-31 17:48 被阅读1279次

最近在做一个项目涉及到很多自定义控件的东西,需要用代码动态添加控件到布局里面,然后我想给自定义控件在代码里面设置id的时候,Android studio报错了。在eclipse不会,什么鬼?

eclipse下的显示:

网络图片eclipse.png

AS下会报错:

AS.png

在Android Studio中,用代码动态添加控件时,通过View.setId(int id)这个方法为控件添加id时直接赋值一个int类型的参数会“报错”。下面我们来解决它吧!

  • 方案一:通过调用View.generateViewId()作为setId的参数,但此方案不是最佳方案,因为View.generateViewId()方法必须为SDK版本17及以上才行,否则报错。(但也有可以通过自写一个Utils.generateViewId()解决)
方案一.png

因为我的最低版本号是14,所以要添加:@TargeApi,不然会报错,个人建议放弃这种方法,因为还有更好的解决办法,请忽略我上面写的东西。。。。

方案二:在res/values/下添加setId.xml(名字可随意)文件,代码如下:

setId.png

在代码中设置id如下:

方案二.png
参考文章:http://www.tuicool.com/articles/ye26biF

相关文章

网友评论

    本文标题:View.setId在Android studio下使用报错的解

    本文链接:https://www.haomeiwen.com/subject/vkacdttx.html