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中判斷網(wǎng)絡(luò)連接是否可用的方法總結(jié)
這篇文章主要介紹了Android中判斷網(wǎng)絡(luò)連接是否可用的方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-04-04
淺析Android Studio 3.0 升級各種坑(推薦)
本文是小編給大家收藏整理的關(guān)于Android Studio 3.0 升級后遇到的一些坑,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-11-11
Android實(shí)現(xiàn)圖片設(shè)置圓角形式
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)圖片設(shè)置圓角形式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
android編程獲取和設(shè)置系統(tǒng)鈴聲和音量大小的方法
這篇文章主要介紹了android編程獲取和設(shè)置系統(tǒng)鈴聲和音量大小的方法,實(shí)例分析了Android針對音頻的相關(guān)操作技巧,需要的朋友可以參考下2017-06-06
Android實(shí)現(xiàn)進(jìn)度條(ProgressBar)的功能與用法
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)進(jìn)度條(ProgressBar)的功能與用法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-08-08
Android自定義控件實(shí)現(xiàn)簡單滑動開關(guān)效果
這篇文章主要為大家詳細(xì)介紹了Android自定義控件實(shí)現(xiàn)簡單滑動開關(guān)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
Android實(shí)現(xiàn)用文字生成圖片的示例代碼
本篇文章主要介紹了Android實(shí)現(xiàn)用文字生成圖片的示例代碼,這里整理了詳細(xì)的代碼,非常具有實(shí)用價值,需要的朋友可以參考下2017-08-08
在Android Studio中Parcelable插件的簡單使用教程
下面小編就為大家分享一篇在Android Studio中Parcelable插件的簡單使用教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-11-11

