歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 模擬 Android Button 控件點擊事件

模擬 Android Button 控件點擊事件

日期:2017/3/1 11:08:32   编辑:Linux編程

Android 中控件可以設置點擊事件,有幸看到android源碼,故作小記!沒有其它什麼不可思議之處!所以,你必須在很休閒的時候看本篇博客,否則那是在浪費時間。

這篇博客:

<1> 使用 Java 語言模擬 android 中 Button 的 click 事件

<2> 分享 Button 控件的一個 xml 屬性

<3> 分享一篇關於 android MVC 的文章

1. Observer 回顧

Observer pattern,觀察者模式。觀察者模式在Android中有著廣泛的應用,尤其是在Listener中應用廣泛。

觀察者模式又叫做發布-訂閱(Publish/Subscribe)模式、模型-視圖(Model/View)模式、源-監聽器(Source/Listener)模式或從屬者(Dependents)模式。

觀察者模式定義了一種一對多的依賴關系,讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態上發生變化時,會通知所有觀察者對象,使它們能夠自動更新自己。

2. 新建 Java project

隨便起個名稱,無所謂的。

3. View.java

這個類是Button的父類,實現了一些重要事件如綁定事件,點擊事件。其中點擊事件,在這裡使用內部接口實現(android 源碼也是這樣做的)。具體看代碼:

  1. package mark.zhang;
  2. /**
  3. * @author mark
  4. * View 類
  5. */
  6. public class View {
  7. OnClickListener listener = null;
  8. /**
  9. * 注冊事件,用於設置監聽
  10. * @param listener
  11. */
  12. public void setOnClickListener(OnClickListener listener) {
  13. this.listener = listener;
  14. }
  15. /**
  16. * 點擊事件
  17. */
  18. public void performClick() {
  19. if (listener != null) {
  20. listener.onClick(this);
  21. }
  22. }
  23. /**
  24. * @author mark
  25. * 內部接口www.linuxidc.com
  26. */
  27. public interface OnClickListener {
  28. public void onClick(View v);
  29. }
  30. }

注意:這裡的內部接口,主要是用於實現“回調”。

4. Button.java

  1. package mark.zhang;
  2. public class Button extends View {
  3. /**
  4. * construtor
  5. */
  6. public Button() {
  7. // nothing to do
  8. }
  9. }
Copyright © Linux教程網 All Rights Reserved