XMLファイルでは、Android:id="@+id/something"
などのビューにIDを割り当ててからfindViewById()
を呼び出すことができますが、プログラムでビューを作成する場合、IDを割り当てる方法を教えてください。
setId()
はデフォルトの割り当てと同じではないと思います。 setId()
は余分です。
誰でも私を修正できますか?
これにはView.setId(integer)
を使用できます。 XMLでは、String idを設定していても、これは整数に変換されます。このため、プログラムで追加するViews
には任意の(正の)整数を使用できます。
View
ドキュメントによると識別子は、このビューの階層内で一意である必要はありません。識別子は正数でなければなりません。
したがって、任意の正の整数を使用できますが、この場合、同等のIDを持ついくつかのビューが存在する可能性があります。階層内のいくつかのビューを検索する場合、いくつかのキーオブジェクトでsetTagを呼び出すと便利です。
この回答 へのクレジット。
はい、任意の(正の)整数値を使用して任意のビューでsetId(value)
を呼び出してから、findViewById(value)
を使用して親コンテナで見つけることができます。異なる兄弟ビューに対して同じ値でsetId()
を呼び出すことは有効ですが、findViewById()
は最初のビューのみを返すことに注意してください。