我想保存在由接收呼叫觸發服務這個信息,但它的崩潰後,我用.SET的Android List和Array設置
SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss dd-MM-yyyy", Locale.getDefault());
Calendar calendar = Calendar.getInstance();
String currentDateTimeString = df.format(calendar.getTime());
List<String> lastCall = new ArrayList<String>();
lastCall.set(0, currentDateTimeString);
lastCall.add("12:22:12 12-03-2014");
lastCall.add("22:06:34 14-07-2013");
lastCall.add("12:22:12 12-03-2012");
lastCall.add("22:06:34 14-07-2011");
lastCall.add("12:22:12 12-03-2010");
if (lastCall.size() > 5){
lastCall.remove(6);
}
editor.putString("lastCall", new Gson().toJson(lastCall));
editor.commit();
我想只保存最後5次調用,因爲.set應該添加到第一個位置,直到獲得6個字符串並刪除第6個字符串。
有人可以告訴我我做錯了什麼,我需要改變以使其工作?
謝謝!
閱讀文檔。 'set'拋出'IndexOutOfBoundsException \t if location <0 || location> = size()'。在你的情況下,'size()'在這個點上是0,因爲還沒有item。 – njzk2
Hi @ njzk2你可以用一個例子來回答嗎? – FilipeOS
我真的不明白你在做什麼。你爲什麼要在列表中添加6個元素,只是爲了在刪除第6個元素之後立即刪除? – njzk2