您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Android編程如何實現下載時主界面與詳細界面一致更新的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
具體如下:
1、創建監聽管理類
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、創建詳細界面
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、創建主界面
1)在初始化時添加監聽
mObserverManager.addObserver(new DetailView(this));
2)在主界面點擊下載時通知詳細界面更新
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();// } }
感謝各位的閱讀!關于“Android編程如何實現下載時主界面與詳細界面一致更新”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。