программно добавить идентификатор в R.id - PullRequest
85 голосов
/ 10 июля 2010

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

Ответы [ 2 ]

201 голосов
/ 10 июля 2010

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

Рез / значения / 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);
0 голосов
/ 01 июля 2019

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

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

, чтобы вы могли использовать

EveryView.setId(int);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...