2013-05-05 125 views
-1

BaseAdapter s的用途是什麼?什麼時候應該用它們代替ArrayAdapter?我一直使用BaseAdapter,但爲什麼不使用ArrayAdapterArrayAdapter延伸BaseAdapter,因此繼承了它的所有方法。使用BaseAdapter比ArrayAdapter有什麼優勢?

+0

這個問題可能沒有很好的答案。人們通常會從最基本的班級開始工作,如果他們需要額外的功能,他們只能從更復雜的班級開始工作。 – 2013-05-05 22:38:46

回答

2

它是D in SOLID,即Dependency inversion principle

換句話說,設計代碼時應該依賴於接口和基類,而不是具體的類。尤其是,您應該僅僅依賴於類/界面中「所需功能的最大數量」。如果你不需要比BaseAdapter更多的東西,不要依賴ArrayAdapter。

如果您打算創建自己的適配器,請隨時從ArrayAdapter進行擴展(如果適合您的需要)。 BaseAdapter只是幾個適配器使用的基本接口,所以需要適配器的類可以使用它。