作者codemonkey (程式猿)
看板AndroidDev
標題[閒聊] 用R.id連加方法取得n個UI widget
時間Fri Jun 8 10:05:04 2012
剛剛做了一個實驗,假如說一個layout上面有100個button
(先不管造成這種局面的原因),
在Java@Android的程式架構下,
原來也可以用Button物件陣列和resource ID連加來處理:
//i=0~99
buttons[
i] = (Button)findViewById(R.id.firstButton +
i);
不過這樣的作法好像非正規也不聰明,例如layout版面改變一下,
就得一段段下去改程式了,特別是在有複雜UI的環境下...
所以,還是用執行階段加入widget、或是利用Inflater物件才是正解?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.217.188.133
推 LaPass:因為R.id.firstButton本身就是個int 06/08 10:17
→ LaPass:執行階段動態加入Button才是問題的根本解法 06/08 10:18
推 gpc:aapt是用檔名來排編號的 所以檔名按字母排就可以連號了! 06/08 11:00
推 CyberRay:如果只是為了get view,buttons 上層用個ViewGroup包起來 06/08 11:29
→ CyberRay:然後在用ViewGroup.getChildAt(i) 這樣有正規到嗎? 06/08 11:30
推 lovelycateye:程式動態加入,用個List存起來不就好了? 06/08 22:48