Android編程實(shí)現(xiàn)下載時主界面與詳細(xì)界面一致更新的方法
本文實(shí)例講述了Android編程實(shí)現(xiàn)下載時主界面與詳細(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)在初始化時添加監(jiān)聽
mObserverManager.addObserver(new DetailView(this));
2)在主界面點(diǎn)擊下載時通知詳細(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();// } }
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android基本組件用法總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android布局layout技巧總結(jié)》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android Retrofit2數(shù)據(jù)解析代碼解析
這篇文章主要介紹了Android Retrofit2數(shù)據(jù)解析代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-12-12Android中的動態(tài)加載機(jī)制的學(xué)習(xí)研究
本篇文章主要介紹了Android中的動態(tài)加載機(jī)制,對android項(xiàng)目開發(fā)有著一定的幫助,有興趣的同學(xué)可以了解一下。2016-11-11Android中調(diào)用另一個Activity并返回結(jié)果(選擇頭像功能為例)
這篇文章主要介紹了Android中調(diào)用另一個Activity并返回結(jié)果,本文以模擬選擇頭像功能為例通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2020-01-01Android應(yīng)用啟動另外一個apk應(yīng)用的方法
這篇文章主要介紹了Android應(yīng)用啟動另外一個apk應(yīng)用的方法,涉及Android基于intent的package調(diào)用與管理技巧,需要的朋友可以參考下2016-02-02Android中oncreate中獲得控件高度或?qū)挾鹊膶?shí)現(xiàn)方法
這篇文章主要介紹了Android中oncreate中獲得控件高度或?qū)挾鹊膶?shí)現(xiàn)方法的相關(guān)資料,希望通過本文大家能實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-09-09Android操作存放在assets文件夾下SQLite數(shù)據(jù)庫的方法
這篇文章主要介紹了Android操作存放在assets文件夾下SQLite數(shù)據(jù)庫的方法,實(shí)例分析了Android操作SQLite數(shù)據(jù)庫的相關(guān)技巧,需要的朋友可以參考下2015-06-06Android仿支付寶自定義密碼輸入框及安全鍵盤(密碼鍵盤)
這篇文章主要介紹了Android仿支付寶自定義密碼輸入框及安全鍵盤(密碼鍵盤),需要的朋友可以參考下2018-01-01