android studio view.setId报错

自定义控件设置id的时候会报错,如:view.setId(100);

解决方法:

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

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


setId.png

在代码中设置id如下:

 
方案三:在设置类变量的地方加上@android.support.annotation.IdRes 这句话就可以了,如:@android.support.annotation.IdRes int id = 123;
 
原文地址:https://www.cnblogs.com/kelina2mark/p/5969322.html