- 1つの画面で1つのViewを動的に生成するなどして繰り返し使いたい場合、IDの重複に注意する
- Fragmentが再描画される際、ViewのIDを元に値を復旧させる。
- IDが重複していると同じIDを持つView全てに値が設定されてしまう。
- 親ViewのIDが異なっていても駄目
対策
- リソースでIDを定義する
- include時にIDを定義する(IncludeするViewの子ViewでIDを考慮する必要がない場合)
- generateViewIdを使う(API Level 17から)
自分で名前つけられるのでリソースIDが無難かな。
でもsetIdする対象のViewを取り出すためにfindViewByIdするのはなんか違う。
OSがViewの復旧を試みるのはViewをFieldに持った場合のみかも。