後才解僱,我現在面臨的一個問題。點擊從內MergeAdapter項目的看法事件目前我在我的應用程序中使用<a href="https://github.com/commonsguy/cwac-merge" rel="nofollow noreferrer">cwac-merge</a>滾動
所以我有這個列表視圖不同的部分。第一個或靜態視圖添加到MergeAdapter。直接添加它們而不激活/停用它們。
然後我加入其他適配器我MergeAdapter
和隱藏他們setActive()
立竿見影。這些是異步填充的,但在listView.setAdapter(adapter)
之前添加。所以,我這樣做是爲每個適配器:
- 適配器添加到
MergeAdapter
與adapter.addAdapter(subAdapter)
- 隱藏它
adapter.setActive(subAdapter, false)
- 當數據被取出,加上檢索到的項目到subAdapter,
subAdapter.addItems(items)
和然後顯示適配器adapter.setActive(subAdapter, true)
一切工作完美,我的看法看起來不錯,除了一件事。我在MergeAdapter
的頂視圖中有幾個按鈕。點擊行爲是錯誤的。有時點擊事件只會在滾動ListView
之後觸發。我注意到只有當我玩setActive()
函數時纔會發生。如果我每撥打setActive()
的電話,都不能複製該問題。 如果我點擊多次,然後滾動,點擊次數很多。
下面是一些截圖。靜態視圖是圖像和4個按鈕的視圖。然後,動態部分是後適配器(傳中,上次播放的和最佳歌曲)
更新: 我已經成功地(在某種程度上)通過激活他們每個人的呼叫後subAdapter.notifyDatasetChanged()修復它。它仍然很瑣碎,並且每次都不工作。
更新: 我想這應該由庫涵蓋鑑於:
注意,雖然,你可以修改基本適配器。所以, 例如,如果一個CursorAdapter添加到MergeAdapter,你 重新查詢()光標時,改變應該通過 MergeAdapter到任何適配器視圖的MergeAdapter連接得以體現。
創建重現該問題的示例項目,然後提供該示範代碼[文件存在問題(https://github.com/commonsguy/cwac-merge/issues)(和步驟來重現條件) ,以便我可以研究你的問題。 – CommonsWare
好的,我會盡力做到這一點,謝謝! –
該死的我不能在示例中重現它.- –