2010-07-09 3 views
81

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

+0

возможно дубликат [Android: View.setID (интермедиат идентификатор) программно - как избежать ID конфликты?] (Http://stackoverflow.com/questions/1714297/android-view-setidint-id-programmatically-how-to-avoid-id-conflicts) – rds

ответ

188

Вы можете установить идентификаторы, которые вы будете использовать позже в классе 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); 
+1

Могу ли я вызвать файл anothername.xml? –

+2

Извините за поздний ответ, но да, как и во всех Android-ресурсах, вы можете назвать этот .xml в любом случае вам нравится ... –

Смежные вопросы