最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Android编程实现下载时主界面与详细界面一致更新的方法
时间:2022-06-25 23:12:44 编辑:袖梨 来源:一聚教程网
本文实例讲述了Android编程实现下载时主界面与详细界面一致更新的方法。分享给大家供大家参考,具体如下:
1、创建监听管理类
public class ObserverManager {
private List observers = 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();//
}
}
相关文章
- word版记位置怎么设置 03-30
- DeepseeK极速网页版-Deepseek全能在线平台 03-30
- 如何查找文件传输助手聊天记录 03-30
- 漫蛙3安卓下载安装包最新版本 - 安卓正版资源入口一键获取 03-30
- 交通银行信用卡app怎么设置还款日才划算 买单吧调整账单还款日方法 03-30
- b612咔叽怎么打开相机 B612咔叽打开相机网格方法 03-30