本文实例讲述了Android编程实现下载时主界面与详细界面一致更新的方法。分享给大家供大家参考,具体如下:
1、创建监听管理类
public class ObserverManager { private Listobservers = new ArrayList (); 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();// } }
热血大作战 安卓最新版v2.1.166
下载凡尔赛法环免广告版 最新版v1.69.1
下载天煞异种 安卓版v1.0.21
下载十三月 (Undecember)最新官方中文版v3.26.0200
下载星露谷物语sve 安卓版v1.5.6.52
星露谷物语sve手机版是游戏的超大拓展Mod内容,全称Sta
动物园大亨 手机版v2.0
动物园大亨是一款模拟动物园经营的休闲放置游戏,采用了卡通画风
蜜蜂园林钞票不减反增版 v0.1.68
蜜蜂园林无限道具版是游戏的破解版本,在该版本中为玩家提供了足
幻想熔炉失落帝国的世界 安卓版v2.16.2
幻想熔炉失落帝国的世界是一款魔法卡通风格的城市模拟经营类游戏
我的女友是声优免广告 安卓版v1
我的女友是声优免广告是一款非常好玩的模拟经营类手游,玩家在游