簡體   English   中英

如何為隨機生成的按鈕生成ID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM