2010-07-09 28 views
81

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

+0

的可能重复的[机器人:View.setID(INT ID)编程 - 如何避免ID冲突?](http://stackoverflow.com/questions/1714297/android-view-setidint-id-programmatically-how-to-avoid-id-conflicts) – rds 2014-07-21 17:51:21

回答

188

您可以使用xml资源文件设置稍后在R.id类中使用的ID,并让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); 
+1

我可以调用文件anothername.xml? – 2015-06-29 09:33:10

+2

对不起,对于最近的回复,但是对于所有Android资源,无论如何,您可以将该.xml命名为... – 2015-08-24 00:26:21

相关问题