本文實(shí)例講述了Android編程實(shí)現(xiàn)下載時(shí)主界面與詳細(xì)界面一致更新的方法。分享給大家供大家參考,具體如下:
1、創(chuàng)建監(jiān)聽管理類
public class ObserverManager {  private List<Observer> observers = new ArrayList<ObserverManager.Observer>();  public interface Observer {    public void update();    public void updateState();  }  public void addObserver(Observer observer) {    if (observer == null) {      throw new RuntimeException();    }    synchronized (this) {      if (!observers.contains(observer)) {        observers.add(observer);      }    }  }  public void notifyObservers() {    for (Observer observer : observers) {      observer.update();    }  }  public void notifyState() {    for (Observer observer : observers) {      observer.updateState();    }  }}2、創(chuàng)建詳細(xì)界面
public class DetailView extends View implements Observer {  public DetailView(Context context, AttributeSet attrs, int defStyleAttr) {    super(context, attrs, defStyleAttr);  }  public DetailView(Context context, AttributeSet attrs) {    super(context, attrs);  }  public DetailView(Context context) {    super(context);  }  @Override  public void update() {    System.out.println("update");  }  @Override  public void updateState() {    System.out.println("updateState");  }}3、創(chuàng)建主界面
1)在初始化時(shí)添加監(jiān)聽
mObserverManager.addObserver(new DetailView(this));
2)在主界面點(diǎn)擊下載時(shí)通知詳細(xì)界面更新
public class MainActivity extends Activity {  private ObserverManager mObserverManager;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    mObserverManager = new ObserverManager();    mObserverManager.addObserver(new DetailView(this));  }  public void click(View v) {    //TODO 比如開始下載    mObserverManager.notifyUpdate();//  }}希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注