Android编程实现下载时主界面与详细界面一致更新的方法
作者:LovooGod 时间:2023-01-02 10:07:35
本文实例讲述了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程序设计有所帮助。
来源:http://blog.csdn.net/lovoo/article/details/51864605
标签:Android,下载,更新
0
投稿
猜你喜欢
java实现gif动画效果(java显示动态图片)
2023-10-19 07:56:38
Android APP存活检测方式
2023-10-14 10:02:41
IntelliJ IDEA中properties文件显示乱码问题的解决办法
2021-09-08 04:59:03
mybatis if传入字符串数字踩坑记录及解决
2022-07-18 00:41:18
详解SpringBoot修改启动端口server.port的四种方式
2022-03-10 20:28:48
java8 实现提取集合对象的每个属性
2023-10-17 19:37:27
Android自定义可循环的滚动选择器CycleWheelView
2023-04-06 00:43:16
Java方法参数传递机制原理解析
2022-04-16 19:10:46
Android自定义SurfaceView实现画板功能
2022-01-17 06:57:19
Android 实现永久保存数据的方法详解
2023-06-23 22:13:23
C# salt+hash 加密
2022-04-22 03:54:43
Java枚举类用法实例
2023-09-25 01:47:34
SpringBoot一个非常蛋疼的无法启动的问题解决
2023-12-12 15:24:36
Android WebView实现全屏播放视频
2023-04-12 17:12:39
Android实现网易Tab分类排序控件实现
2023-10-31 22:20:56
Spring中自动注入的两种方式总结
2022-10-24 08:54:14
c#添加图片、文本水印到PDF文件
2021-08-30 13:36:57
Android测量每秒帧数Frames Per Second (FPS)的方法
2022-01-21 05:43:15
实例讲解JAVA设计模式之备忘录模式
2023-08-29 16:31:19
Java编程实现A*算法完整代码
2022-06-18 12:28:57