プログラムでIDをR.idに追加する


89

EditText単体テストで参照しようとするオブジェクトを作成しています。この動的に作成されたオブジェクトに新しいを追加して、後で単体テストで参照できるようにidするR.idための最良の方法は何findViewById()ですか?


回答:


207

後で使用するIDをxmlリソースファイルを使用してR.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

2
返信が遅くなって申し訳ありませんが、そうです、すべてのAndroidリソースと同様に、.xmlに好きな名前を付けることができます...
隠しAndroid

1

Googleデベロッパーに基づいて、すべてのビューにsetIdを使用し、任意の正の数を割り当てることができます。

このビューの識別子を設定します。識別子は、このビューの階層内で一意である必要はありません。識別子は正の数でなければなりません。リンク

だからあなたは使うことができます

EveryView.setId(int);
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.