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();//     }}

更多相关文章

  1. android 程序初始化界面.. .
  2. Android中自定义Toast显示在其他界面上
  3. Android右滑返回上一个界面的实现方法
  4. Android 简单EventBus登录界面与传值(粘性事件)
  5. 打开app弹出欢迎界面,然后自动跳转到主界面
  6. [Android]判断当前界面是否是桌面
  7. Android studio跳转界面
  8. Android:程序跳过登录界面直接进入主界面(自动登录)
  9. 【Android】首次进入应用时加载引导界面

随机推荐

  1. 从html文档中解析数据()[重复]
  2. 如何在离子框架中显示图像标题?
  3. CGI编程学习5 穿插HTML,CSS零星知识
  4. html5结合flash实现视频文件在所有主流浏
  5. DOM笔记(三):Element接口和HTMLElement接口
  6. [原创]基于html5新标签canvas写的一个小
  7. 大熊君学习html5系列之
  8. web前端2016-3-5
  9. iis aspx常见错误 HTTP 错误 404 - 文件
  10. JSP页面图片路径为中文时乱码解决办法