作者v3dys6f3a3j5 (藍氣)
看板java
標題[問題] Android 用for迴圈寫findViewById
時間Sun Oct 12 20:32:47 2014
我的程式裡面有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
推 luoqr: groovy:R.id."button$i" , java:reflection? 10/12 21:03
→ roder: 宣告陣列是"數量" 起始是從[0]開始 所以最後是n-1 10/12 21:05
→ ssccg: id裡又沒有btn這個陣列,你要用名稱要用reflection 10/12 22:01
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
推 HuangJC: 查過 reflection,無法想像怎麼用;只知有動態生成 rtti 10/12 22:54
→ HuangJC: 對我來說,我會注意 button1~13 是不是連續 id 10/12 22:55
→ cooper6334: 用getResources().getIdentifier() 10/12 22:55
→ HuangJC: 最好是,然後就以數字 forloop 去 loop 這個 id 10/12 22:55
推 HuangJC: 6334的解法好 :P 10/12 22:57