Я создаю объект EditText
, который затем пытаюсь ссылаться на unit test. Каков наилучший способ добавить новый id
в R.id
для этого динамически созданного объекта, чтобы я мог позже ссылаться на него через findViewById()
в unit test?
Программно добавить id в файл R.id
Ответ 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);