Java 如何为随机生成的按钮生成ID

Java 如何为随机生成的按钮生成ID,java,android,Java,Android,我正在生成一个随机数目的按钮,需要为每个按钮设置唯一的ID以供进一步使用。我正在使用View.generateWiid()设置ID,但之后如何获取ID 相反,是否可以通过将ID设置为一个变量来对按钮进行编号,每次递增1,而不是以某种方式生成随机ID?将返回一个整数,保证在R类中是唯一的 但是我怎么才能拿到身份证呢 现在,您可以将generatedID设置为任何视图的id,然后通过view.getId()获取它 相反,是否可以通过将ID设置为变量来对按钮进行编号,每次递增1,而不是以某种方式生成随

我正在生成一个随机数目的按钮,需要为每个按钮设置唯一的ID以供进一步使用。我正在使用
View.generateWiid()
设置ID,但之后如何获取ID

相反,是否可以通过将ID设置为一个变量来对按钮进行编号,每次递增1,而不是以某种方式生成随机ID?

将返回一个整数,保证在
R
类中是唯一的

但是我怎么才能拿到身份证呢

现在,您可以将
generatedID
设置为任何视图的id,然后通过
view.getId()
获取它

相反,是否可以通过将ID设置为变量来对按钮进行编号,每次递增1,而不是以某种方式生成随机ID


理论上你可以这样做,在大多数情况下你不会有任何问题。但您有多确定不会与
R
类中生成的另一个id冲突?不要对生成的id类型进行假设,今天它们是相当大的数字,也许明天算法可能会改变。此外,该框架还为您提供了一个生成ID的API,为什么您会忽略它?采用框架建议的模式。

除了您正在采用的方法之外,还有另一种简单而简洁的方法。对于动态添加的控件(按钮、文本视图),您必须维护该控件的数组/列表,例如
list lstButtons
,并且要将id设置为必须在基本id上拾取/设置的id,例如
int buttonBaseId=100。对于每个动态添加的按钮,必须将其增加1,例如
buttonBaseId+=1

这种方法也可用于多个控件。假设您想动态添加
TextView
,在这种情况下,您可以选择TextView基本id,从1000开始,并为每个随机添加的TextView增加1

通过采用这种方法,您可以在任意点通过id或索引从相应的列表中检索任何控件

通过这种方式,您可以控制按钮的起始位置。希望这对您有所帮助:)

int generatedId = View.generateViewID();