2010-07-09 3 views
81

Je crée un objet EditText que j'essaie ensuite de référencer dans un test unitaire. Quel est le meilleur moyen d'ajouter un nouveau id à R.id pour cet objet créé dynamiquement, afin que je puisse le référencer plus tard via findViewById() dans le test unitaire?ajouter par programme un identifiant à R.id

+0

double possible de [Android: View.setID (int id) programme - comment éviter Conflits d'identité?] (Http://stackoverflow.com/questions/1714297/android-view-setidint-id-programmatically-how-to-avoid-id-conflicts) – rds

Répondre

188

Vous pouvez définir les ID que vous utiliserez plus tard dans la classe R.id à l'aide d'un fichier de ressources XML et laisser Android SDK leur attribuer des valeurs uniques pendant la compilation.

res/valeurs/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> 

Pour utiliser dans le code:

myEditTextView.setId(R.id.my_edit_text_1); 
+1

Puis-je appeler le fichier anothername.xml? –

+2

Désolé pour la réponse tardive, mais oui, comme avec toutes les ressources Android, vous pouvez nommer ce fichier .xml comme vous le souhaitez ... –

Questions connexes