2015-11-03 117 views
0

我有一個ArrayList在我的IntentService,而我添加元素,如用戶名稱消息定期將元素添加到ArrayList的

private ArrayList<ShoutData> shoutList = new ArrayList<>(); 

每次服務收到新的通知時都會添加一個新的名稱和消息。

ShoutData data = new ShoutData(); 
data.setName(name); 
data.setShout(shout); 
shoutList.add(data); 
resultIntent.putParcelableArrayListExtra(SHOUT_ARRAY, shoutList); 

所以被點擊通知時,應導致活動在那裏我可以檢索整個ArrayList(有多個名稱和消息)。但是隻有最後通知的名稱和消息纔會在ArrayList之內。 我需要的是從我收到通知的用戶那裏獲取所有姓名和消息。我該如何解決這個問題?我認爲問題在於,每次新通知出現時都會重新創建ArrayList,並且只添加來自當前通知的名稱和消息(名稱和消息需要存儲,直到通知被單擊/意圖被調用)。因此,在收到每個通知時,元素不會一次性添加,而是逐個添加。順便說的PendingIntent

PendingIntent.FLAG_UPDATE_CURRENT 

如果需要任何其他代碼,請發表評論。

回答

1

這是可能的。你最初應該在ex中創建你的數組。一些家庭activity你也可以用全局配置(你的數組)創建一些單例類並在IntentService中訪問它。

+1

是的,工作。我把它放在不同的類中,並在IntentService中訪問它,謝謝你的建議! –

相關問題