Программно добавить id в файл R.id

Я создаю объект EditText, который затем пытаюсь ссылаться на unit test. Каков наилучший способ добавить новый id в R.id для этого динамически созданного объекта, чтобы я мог позже ссылаться на него через findViewById() в unit test?

Ответ 1

Вы можете установить идентификатор, который вы будете использовать позже в классе R.id, используя файл ресурсов xml, и пусть Android SDK предоставит им уникальные значения во время компиляции.

RES/значение/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>

Чтобы использовать его в коде:

myEditTextView.setId(R.id.my_edit_text_1);

Ответ 2

Вы можете использовать setId для каждого просмотра и назначить любое положительное число, основываясь на Google Developer:

Устанавливает идентификатор для этого представления. Идентификатор не обязательно должен быть уникальным в этой иерархии представлений. Идентификатор должен быть положительным числом. Ссылка на сайт

так что вы можете использовать

EveryView.setId(int);