[問題] ArrayList<String[]>的Add用法
不知道這個問題該在哪問,不過是在寫APP的時候碰上的
所以發在這個版來請教幾位前輩
我想要一個ArrayList來存放字串陣列
所以我宣告的地方用
private ArrayList<String[]> AL1;
然後在onCreate裏面New出來
AL1=new ArrayList<String[]>();
接著我要把一個String陣列存進去,我把這段寫在OnClickListener裡
AL1.add(Info);
Info是一個字串陣列,
接著在下面想把AL1裡的一個值印出來,用一個迴圈
for(int i=0;i<AL1.size();i++)
{
String[] Temp=AL1.get(i);
Msg.append(Temp[3]+"\n");
}
出問題的地方是,我每次Click都會改變Info的值
可是每次儲存會把整個ArrayList裏面所有的值
都會改成最後一次Click的時候Info的值
如果我把private ArrayList<String[]> AL1; 改成
private ArrayList<String> AL1;
然後再Add之前把Info的值先存成一個字串
每次儲存都會正常的加上去,而不會改掉整個ArrayList
我用Log看過執行時的AL1第一個元素,的確會因為每次Click改變
我猜我的ArrayList的用法可能錯誤,小弟不才,接觸java沒很久
不清楚問題在哪裡,只能請教版上前輩
先在這說聲感謝 OTZ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.105.52.217
推
10/23 22:42, , 1F
10/23 22:42, 1F
→
10/23 22:46, , 2F
10/23 22:46, 2F
→
10/23 22:48, , 3F
10/23 22:48, 3F
→
10/23 22:49, , 4F
10/23 22:49, 4F
→
10/23 22:53, , 5F
10/23 22:53, 5F
→
10/23 23:07, , 6F
10/23 23:07, 6F
推
10/24 00:30, , 7F
10/24 00:30, 7F
→
10/24 00:31, , 8F
10/24 00:31, 8F
→
10/24 00:33, , 9F
10/24 00:33, 9F
→
10/24 01:13, , 10F
10/24 01:13, 10F
→
10/24 01:19, , 11F
10/24 01:19, 11F
→
10/24 01:21, , 12F
10/24 01:21, 12F
推
10/24 02:01, , 13F
10/24 02:01, 13F
→
10/24 02:02, , 14F
10/24 02:02, 14F
→
10/24 02:03, , 15F
10/24 02:03, 15F
→
10/24 05:03, , 16F
10/24 05:03, 16F
推
10/24 09:00, , 17F
10/24 09:00, 17F