以编程方式将id添加到R.id


89

我正在创建一个EditText对象,然后尝试在单元测试中引用该对象。什么是添加一个新的最佳方式idR.id为这个动态创建的对象,这样我可以通过以后引用它findViewById()的单元测试?


Answers:


207

您可以设置ID,稍后将在R.id类中使用xml资源文件使用ID,并让Android SDK在编译时为它们提供唯一值。

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>

要在代码中使用它:

myEditTextView.setId(R.id.my_edit_text_1);

1
我可以将文件命名为anothername.xml吗?
ofir_aghai 2015年

2
抱歉,您的回复很晚,但是,与所有Android资源一样,您可以随时随地将其命名为.xml ...
隐藏的Android

1

您可以为每个视图使用setId并根据Google开发人员分配任何正数:

设置此视图的标识符。标识符在此视图的层次结构中不必唯一。标识符应为正数。链接

所以你可以使用

EveryView.setId(int);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.