Android: View.setID(int id) programmatically - how to avoid ID conflicts?


Question

I'm adding TextViews programmatically in a for-loop and add them to an ArrayList.

How do I use TextView.setId(int id)? What Integer ID do I come up with so it doesn't conflict with other IDs?

1
297
4/24/2018 2:36:43 PM

Accepted Answer

According to View documentation

The identifier does not have to be unique in this view's hierarchy. The identifier should be a positive number.

So you can use any positive integer you like, but in this case there can be some views with equivalent id's. If you want to search for some view in hierarchy calling to setTag with some key objects may be handy.

136
11/11/2009 11:11:01 AM

From API level 17 and above, you can call: View.generateViewId()

Then use View.setId(int).

If your app is targeted lower than API level 17, use ViewCompat.generateViewId()


Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon