在listadapter當中需要實現乙個3個方法,baseadapter是這樣實現的
public void registerdatasetobserver(datasetobserver observer)
public void unregisterdatasetobserver(datasetobserver observer)
public void notifydatasetchanged()
這讓我們很容易聯想到觀察者或者叫堅挺著模式。這是一種什麼模式呢:
mdatasetobservable就是乙個儲存所有觀察者的資料集合,用於監聽介面卡當中資料的變化
public class datasetobservable extends observable
obeserveable是乙個抽象類。
public abstract class observable
觀察者觀察資料的變化,來進行相應的操作,需要繼承datasetobserver類,
當資料變化的時候,這兩個函式將會被呼叫
public void onchanged()
public void oninvalidated()
而這實現的原理在於,datasetobservable類當中,notifychanged和notifyinvalidated中,呼叫了每乙個觀察者的onchange()和oninvalidated()方法。 android設計模式
一句話總結23種設計模式 目錄android的設計模式 設計模式的六大原則 一句話總結23種設計模式則 建立型模式 android的設計模式 單例模式 android的設計模式 建造者模式 android的設計模式 工廠方法模式 android的設計模式 簡單工廠模式 android的設計模式 抽象...
android設計模式 命令設計模式
1.系統需要將請求呼叫者和請求接收者解耦,使得呼叫者和接收者不直接互動。2.系統需要在不同的時間指定請求 將請求排隊和執行請求。3.系統需要支援命令的撤銷 undo 操作和恢復 redo 操作。4.系統需要將一組操作組合在一起。command命令角色 定義命令的介面,宣告具體命令類需要執行的方法。這...
Android設計模式 策略模式
策略模式用於演算法的自由切換和擴充套件,分離演算法的定義與實現。android中策略模式的應用有webview設計,animation中的interpolator設計 例如電商應用中的商品 計算 fun main args array inte ce pricestrategy class norm...