I want to give ID to some views (textview ,imageview etc) in a layout that is programmetically created. So what is the best way to set ID.
You create an ids.xml file and place all your required ids in it as below
<?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="layout1" /> <item type="id" name="layout2" /> <item type="id" name="layout3" /> </resources>
Now for your dynamically created layouts or views you can use these ids as below
new_layout1.setId(R.id.layout1); new_view2.setId(R.id.layout2); new_layout3.setId(R.id.layout3);
I hope it may help you.
Google finally realized the need of generating unique IDs for programmatically created views...
From API level 17 and above, one can use View.generateViewId() like this:
view.setId(View.generateViewId());
For apps targeting API level 16 or lower, use ViewCompat.generateViewId()
instead:
view.setId(ViewCompat.generateViewId());
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With