[英]How to generate random numbers and distribute them randomly to some buttons?
[英]How to Generate IDs for Randomly Generated Buttons
我正在生成隨機數量的按鈕,並且需要為每個按鈕設置唯一的ID以便進一步使用。 我正在使用View.generateViewID()
設置ID,但是如何獲取ID?
相反,是否可以通過將ID設置為變量來對按鈕編號,而不是以某種方式生成隨機ID,而每次遞增1?
generateViewID()
將返回一個整數,保證在R
類中是唯一的。
之后如何獲取ID?
int generatedId = View.generateViewID();
現在,您可以將generatedID
設置為任何視圖的ID,然后通過view.getId()
獲取它。
相反,是否可以通過將ID設置為變量來對按鈕編號,而不是以某種方式生成隨機ID,而每次遞增1?
從理論上講,您可以做到這一點,並且在大多數情況下,您不會遇到任何問題。 但是,如何確定您不會與R
類中生成的另一個ID相沖突? 不要對生成的id類型做任何假設,今天它們的數量非常大,也許明天算法可能會改變。 此外,該框架還為您提供了一個用於生成ID的API,您為什么不理會它呢? 采用框架建議的模式。
除了您要遵循的方法外,還有另一種簡單明了的方法。 對於動態添加的控件(Button,Textview),您必須維護該控件的數組/列表,例如List<Button> lstButtons
,並將ID設置為必須根據基本ID進行選擇/設置,例如int buttonBaseId = 100;
。 對於每個動態添加的按鈕,您必須將其增加1,例如buttonBaseId += 1;
。
該方法也可以用於多個控件。 假設您要在這種情況下動態添加TextView
,則可以選擇Textview基本ID(從1000開始),並為每個隨機添加的textview將其增加1。
通過采用這種方法,您可以隨時通過ID或索引從相應列表中檢索任何控件。
通過這種方式,您可以控制按鈕的開始位置。 希望這個能對您有所幫助 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.