[問題] Android 用for迴圈寫findViewById

看板java作者 (藍氣)時間10年前 (2014/10/12 20:32), 10年前編輯推噓3(305)
留言8則, 5人參與, 最新討論串1/2 (看更多)
我的程式裡面有13個Button,我想問可不可以用for的迴圈寫出 button1=(Button)findViewById(R.id.button1); . . . button13=(Button)findViewById(R.id.button13); 給你們看一下我寫的錯誤程式 我有去參考網路上的 button[] btn=new button[13]; //我太久沒寫JAVA有點忘記[]裡是要寫12還是13 for(int i=1;i<14;i++){ btn[i]=(Button)findViewById(R.id.btn[i]); } 紅字是eclipse出現的底線 前面的btn反而沒有底線 我看有人用這種方法寫setOnClickListener是可以的 是不是R.id.id名稱 這裡沒辦法用陣列? 因為eclipse的除錯跟我說要加上btn這個ID 等號前面的就沒出現錯誤 -- ___ ∕><﹨ ﹨ 《 皿 》 ∕ ﹨ ——— ∕ 我要女朋友!!! ﹨ ∥ ∕ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.175.25.135 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1413117173.A.80C.html

10/12 21:03, , 1F
groovy:R.id."button$i" , java:reflection?
10/12 21:03, 1F

10/12 21:05, , 2F
宣告陣列是"數量" 起始是從[0]開始 所以最後是n-1
10/12 21:05, 2F

10/12 22:01, , 3F
id裡又沒有btn這個陣列,你要用名稱要用reflection
10/12 22:01, 3F
1.3樓的大大 可以求詳細嗎 reflection要怎麼用 2樓大大謝囉! 都忘記要n-1了 ※ 編輯: v3dys6f3a3j5 (1.175.25.135), 10/12/2014 22:26:31 ※ 編輯: v3dys6f3a3j5 (1.175.25.135), 10/12/2014 22:26:46

10/12 22:54, , 4F
查過 reflection,無法想像怎麼用;只知有動態生成 rtti
10/12 22:54, 4F

10/12 22:55, , 5F
對我來說,我會注意 button1~13 是不是連續 id
10/12 22:55, 5F

10/12 22:55, , 6F
用getResources().getIdentifier()
10/12 22:55, 6F

10/12 22:55, , 7F
最好是,然後就以數字 forloop 去 loop 這個 id
10/12 22:55, 7F

10/12 22:57, , 8F
6334的解法好 :P
10/12 22:57, 8F
文章代碼(AID): #1KEdJrWC (java)
文章代碼(AID): #1KEdJrWC (java)