最新下载
热门教程
- 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();//
}
}
相关文章
- 暗喻幻想:ReFantazio御剑滑行方法 10-29
- 暗喻幻想:ReFantazio黄金虫数量说明 10-29
- 暗喻幻想魔坏之锤获取方法攻略分享 10-29
- 暗喻幻想:ReFantazio难度更改说明 10-29
- 暗喻幻想古井死胡同BOSS打法攻略分享 10-29
- 骗子酒吧骗子骰子游戏规则介绍说明 10-29