我有一個包含數據顯示的ArrayList。內容異步變化。 我想在兩個活動中顯示數據,兩個都使用ArrayAdapter(不是同一個類)。多個ArrayAdapter,單個數組
問題是ArrayAdapter通過添加,插入和刪除來提供同步訪問和通知。所以同步訪問只能通過一個而不是兩個adapers。
由於使用了不同的視圖,ArrayAdapter本身不可重用。
所以問題是:什麼是推薦的架構有一個ArrayList與多個ArrayAdapter的?
更新
我想澄清一下。目前我只有一個ArrayAdapter。
- 的數據被存儲在一個ArrayList
- 一個服務是在後臺經由一個ArrayAdapter
- 活性和服務通過一個ArrayAdapter訪問該ArrayList(多線程同步問題)更新數據,但是這是沒有問題的,因爲ArrayAdapter的鎖定
現在我有另一個活動,應該也顯示相同的ArrayList,我不知道該怎麼做。顯然我需要另一個ArrayAdapter,因爲第二個活動有另一個佈局。這意味着兩個活動和一個服務正在訪問相同的ArrayList。 ArrayAdapter的同步是不夠的,因爲鎖定在ArrayAdapter中,這意味着如果服務和活動1使用ArrayAdapter 1,則ArrayAdapter 2仍將訪問和修改ArrayList。
你能給一個android代碼(數組適配器)的證明鏈接,我可能是錯的,但你的答案可能不正確 – Yahor10 2012-03-02 13:12:19
第312行 - https://github.com/android/platform_frameworks_base/blob/master/core/java /android/widget/ArrayAdapter.java#L308 – 2012-03-02 13:59:27
1)ArrayList是一個靜態字段。 2)你是對的。 3)是,但同步訪問和通知只能通過一個適配器 – ChrLipp 2012-03-02 14:58:04