2016-05-23 66 views
0

我有一個LinkedHashMap像這樣:如何從LinkedHashMap的對象聽衆當鑰匙拔出

private LinkedHashMap<String, Column> columns = new LinkedHashMap<>();

添加一個Column

columns.put(name, column);

Column有聽衆的對象。

當我除去柱:

columns.remove(name);

的聽衆仍然活躍

我已經嘗試了WeakHashMap,這確實有所幫助,聽衆不再活躍

但是WeakHashMap不保留的插入順序。

我也試圖讓Column它設置爲null,然後從地圖中刪除,但沒有運氣的關鍵。聽衆仍然活躍。

有什麼建議嗎?我錯過了什麼嗎?

回答

0

刪除它們。

受Android影響開發,活動和服務

1

您需要從列不是我已經結束了從LinkedHashMap刪除它們時實施onStartonDestroy生命週期事件HashMap中

+0

當然,但我刪除列而不是聽衆。有任何想法嗎?一列可以有一個監聽者或沒有。我試圖走在這條如removeColumn香草,爲了做是爲了避免先得到列,然後檢查是否有監聽器,監聽器刪除等 我主要是不明白爲什麼對象不是GC –

+0

端了有了這個。添加onstart和ondestroy生命週期調用 –