programmatically add id to R.id

android, android-edittext, unit-testing

Solution

You can set ID's you'll use later in R.id class using an xml resource file, and let Android SDK give them unique values during compile time.

res/values/ids.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <item name="my_edit_text_1" type="id"/>
    <item name="my_button_1" type="id"/>
    <item name="my_time_picker_1" type="id"/>

</resources>

To use it in code:

myEditTextView.setId(R.id.my_edit_text_1);

Problem

I am creating an `EditText` object which I then try to reference in a unit test. What is the best way to add a new `id` to `R.id` for this dynamically created object, so that I can later reference it via `findViewById()` in the unit test?

Original source

Related problems