Android编程实现下载时主界面与详细界面一致更新的方法
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Android基本组件用法总结》、《Android开发入门与进阶教程》、《Android布局layout技巧总结》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
相关文章
Android 使用CoordinatorLayout实现滚动标题栏效果的实例
下面小编就为大家带来一篇Android 使用CoordinatorLayout实现滚动标题栏效果的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-03-03Android XmlPullParser 方式解析 Xml 文档
这篇文章主要介绍了Android XmlPullParser 方式解析 Xml 文档的相关资料,需要的朋友可以参考下2017-06-06Android程序开发之UIScrollerView里有两个tableView
这篇文章主要介绍了UIScrollerView里有两个tableView 的相关资料,需要的朋友可以参考下2016-04-04Android ViewPager与radiogroup实现关联示例
本篇文章主要介绍了Android ViewPager与radiogroup实现关联示例,具有一定的参考价值,有兴趣的可以了解一下。2017-03-03Android LayoutInflater.inflate源码分析
这篇文章主要介绍了Android LayoutInflater.inflate源码分析的相关资料,需要的朋友可以参考下2016-12-12Android在fragment中编写toobar的步骤详解
这篇文章主要介绍了Android在fragment中编写toobar,本文分步骤通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-01-01创建Android库的方法及Android .aar文件用法小结
本文给大家介绍了创建Android库的方法及Android中 .aar文件生成方法与用法详解,涉及到创建库模块操作步骤及开发注意事项,需要的朋友参考下吧2017-12-12
最新评论