2013-02-28 52 views
0

使用SimpleCursorAdapter比BaseAdapter有什麼好處? 在哪種情況下BaseAdapter更合適,並且在哪種情況下SimpleCursorAdapter更適合 ?SimpleCursorAdapter vs BaseAdapter

而且作爲SimpleCursorAdapter文檔中,它被寫

這個構造函數是在API層面棄用11 此選項氣餒,因爲它會導致光標查詢被應用程序的UI線程上執行因此可能導致較差的響應甚至應用程序無響應錯誤。作爲替代,使用帶有CursorLoader的LoaderManager。

這是否意味着SimpleCursorAdapter不應該用於較低的API版本 例如。 API等級10(薑餅)?

建議的備選方案 - LoadManager & CursorLoader僅適用於API級別11 &以上。那麼從API 10開始的解決方案是什麼?

+1

LoaderManager和CursorLoader是兼容性包afaik的一部分。 – WarrenFaith 2013-02-28 12:13:41

+0

棄用的是simplecursoradapter的一個構造函數,它在主線程上執行重新查詢。裝載機將幫助您在後臺查詢。 – njzk2 2013-02-28 12:14:00

回答

1

使用SimpleCursorAdapter比BaseAdapter有什麼好處?

SimpleCursorAdapter封裝的結合從Cursor值的ListView's項目的子視圖的邏輯。 BaseAdapter只是一個抽象類,它可以繼承以提供初始化您的ListView的自定義邏輯。

在哪種情況下BaseAdapter更合適,在哪種情況下SimpleCursorAdapter更適合?

如果你需要的是從CursorViews結合的價值觀 - 與SimpleCursorAdapter去。

這是否意味着即使在較低的API版本上也不應該使用SimpleCursorAdapter, API等級10(薑餅)?

不,這是不正確的,你可以使用它的任何版本的Android。

的替代品建議 - LoadManager & CursorLoader僅適用於API級別11 &超越。那麼從API 10開始的解決方案是什麼?

LoaderManagerCursorLoader都在兼容庫中可用,因此您可以在Android v4及更高版本上使用它們。希望這可以幫助。