我正在實現一個自定義適配器,該適配器遍歷一些數據庫條目,然後鏈接回Android聯繫人數據庫。適配器將查詢內容解析器並將返回的光標中的數據綁定到視圖中。但是,假設我將聯繫人添加到我的私人數據庫,然後將其從Android聯繫人列表中刪除。查詢將失敗,理想情況下,我想從數據庫中刪除該條目並嘗試下一條,並使我應該綁定的視圖無效,以便它不會顯示在屏幕上。當爲適配器實現bindView()時,我可以「跳過」視圖嗎?
我沒有看到一個明顯的方式做到這一點從SDK文檔,所以我認爲我會問lazyweb!
另一種方案是在整個專用聯繫人數據庫實例上迭代,並清理所有壞的條目,但我認爲非常昂貴。
你不能爲光標「查詢」,過濾「不良聯繫人」? – st0le 2010-07-14 03:44:52
我可以提前做,但正如我所說的,在我的應用程序運行時,用戶可以切換到通訊錄應用程序,並刪除聯繫人,返回到我的應用程序並加載聯繫人列表。這意味着每次渲染視圖時,我都必須預先查找列表中的每個聯繫人,然後我可以使用ArrayAdapter。但是如果可以的話,我寧願堅持使用遊標適配器。 – 2010-07-14 03:49:58