2013-04-04 72 views
1

我一直試圖使用ArrayList.add,當我只是把.add("some data")它工作正常,當我試圖分配的ID - .add(1, "some data");我不斷收到錯誤,當我嘗試運行應用程序 - 「應用程序MobileApp(process com.example。 mobileapp)意外停止,請重試。「列表<String> log = new ArrayList <String>();

這是我運行下面的代碼:

List<String> log = new ArrayList<String>(); 
    log.add(1, "some data"); 

這工作得很好:

List<String> log = new ArrayList<String>(); 
    log.add("some data"); 

我想從這個實現:

  1. ListView將有名單的項目,每個項目將具有特定的「ID」。
  2. 單擊此「id」將被選中,用戶將移動到不同的佈局,其中進一步的信息顯示在具有選定「id」的項目上。
+0

你可以粘貼你的LogCat輸出嗎? – tristan2468 2013-04-04 20:43:51

+1

from doc'拋出:IndexOutOfBoundsException - 如果索引超出範圍(index <0 || index> size())size()爲零,則索引爲1 ... – Selvin 2013-04-04 20:45:54

+0

您應該考慮一個Map '如果你想'每個項目都有特定的'id'' – WarrenFaith 2013-04-04 20:56:18

回答

5

您正試圖在索引1處添加一個不存在的項目。您將需要更改代碼以首先插入0位置。

List<String> log = new ArrayList<String>(); 
log.add(0, "some data"); 

如果你需要的是不對應的索引特定ID,你可能要考慮使用一個Map

+0

是的,似乎Map是我的選擇,因爲我可能沒有列表中的「id」爲0的項目。我將如何去提供給ArrayAdapter? – user1652382 2013-04-04 21:36:37

+0

這是一個答案,需要擴展BaseAdapter與HashMap一起使用http://stackoverflow.com/questions/5234576/what-adapter-shall-i-use-to-use-hashmap-in-a-viewview – 2013-04-04 21:45:28

+1

我也找到本指南 - http://www.vogella.com/articles/AndroidListView/article.html – user1652382 2013-04-04 21:47:25

3

試試這個

List<String> log = new ArrayList<String>(); 
log.add(0, "some data");//Changed from 1 to 0 

我認爲你需要從0開始不能插入1,如果我們沒有在第0個位置數據。

+0

你打敗了我。 – 2013-04-04 20:47:02

+0

我認爲你用了一分鐘甜菜:) – 2013-04-04 20:52:58

相關問題