textviewに文字を設定したい場合等は、以下の様にするのが普通ですが、
TextView tv = (TextView)findViewById(R.id.textview01);
textviewのIDに当たる”R.id.textview01″を動的に指定したい事があります。
その場合、こうすれば良いみたいです。
int textview01_id = getResources().getIdentifer(“textview01″,”id”,”com.test.sample”);
TextView tv = (TextView)findViewById(textview01_id);
テストアプリで試した所上手く行ったので、多分あってると思います。
この手法を活用する事によって、
textviewが沢山ある様な場合に、繰り返し等でソースコードをスリム化出来るケースがあると思います。
クリフもCliphWeatherのソースにこれを適用して整理して見ようと思っています。
ただ、確実に処理のステップが増えるのでパフォーマンスへの悪影響は避けられない様に思います。。。。
メンテナンス性と、パフォーマンスどちらを取るか、
バランスを見て決めなければ行けなそうです。
尚、上記の例はviewのIDを取得していますが、
要はR.javaの中を検索するメソッドなので、drawableやStringなんかも同様にIDを取得する事が可能らしい。
<参考サイト>
http://d.hatena.ne.jp/hyoromo/20100123/1264221657
http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html
http://developer.android.com/intl/ja/reference/android/content/res/Resources.html#getIdentifier(java.lang.String, java.lang.String, java.lang.String)
あ
ピグ
よろしく
さとうやすお
ヨロシクね!
My spouse and I stumbled over here coming from a dirnffeet page and thought I may as well check things out. I like what I see so now i am following you. Look forward to exploring your web page yet again.