我的家園

          我的家園

          Android Listener偵聽的N種寫法及實現

          Posted on 2012-04-15 16:37 zljpp 閱讀(316) 評論(0)  編輯  收藏

          Android中,View的Listener方法,在是否使用匿名類匿名對象時,就是各種不同的寫法。

          OnClickListener和其他Listener方法一樣,都是View類的抽象接口,重載后就能使用,定義如下:

          // 編譯自View.java (版本 1.5:49.0,無超級位)
          public abstract static interface android.view.View$OnClickListener {
            
            // 方法描述符 #4 (Landroid/view/View;)V
            public abstract void onClick(android.view.View arg0);

            內部類:
              [內部類信息: #1 android/view/View$OnClickListener, 外部類信息: #7 android/view/View
               內部名: #9 OnClickListener, 訪問標志:1545 public abstract static]
          }
          這是一個抽象接口的定義,在使用上可以像類一樣派生。抽象接口interface)和抽象類(class)是和C,C++不一樣的,但在JAVA中兩者比較相似,但卻又是不同的,有關這方面的概率可以從JAVA編程中了解到,C++程序員也許會對這兩者感覺不知所措,不知道該為某些實現創建抽象接口還是抽象類。這可能需要一定的代碼實戰經驗才能更好的把握。
          Listener在使用上有多種寫法,了解這些,對編寫程序好處比較有限,但對閱讀代碼卻又是有用的。大約也可以像孔乙已一樣拿來炫耀吧,但我認為,這對初涉安卓編程的其他程序員來深入了解JAVA或者安卓編程,具有很重要的意義。本例使用了六種方法,由于JAVA語法的靈活性,很可能換種思考,一種新的方法就誕生了,所以本文僅做了解,不要讓他成為你的靈魂鎖鏈,導致限制了你在安卓領域做更深入更廣泛的探索和貢獻。當然如果你發現的新的寫法或者創造什么新的寫法,也可以告訴我,大家一起學習。下面是程序代碼:

          使用eclipse創建安卓工程,假設工作名字使用button4,包使用com.mypack,在窗口中加入6個BUTTON.,使用默認命名,系統自動會命名為button1到button6,再加入一個editText,系統會自動命名為editText1.工程項目包名都可以隨意。


          main.xml


          Button4Activity.java


          文件中最后一個按鈕使用了類callOut,CALLOUT.java代碼如下:


          轉載聲明: 本文轉自  http://blog.csdn.net/blogercn/article/details/7395168



          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 佛冈县| 庆云县| 娄烦县| 梧州市| 临清市| 延吉市| SHOW| 宜良县| 桐庐县| 新宾| 平和县| 鲁山县| 黄大仙区| 洪湖市| 南阳市| 乐业县| 财经| 响水县| 连云港市| 海安县| 新乐市| 明水县| 长阳| 美姑县| 罗源县| 磴口县| 本溪市| 天峻县| 高要市| 清河县| 五指山市| 永州市| 大城县| 中江县| 汉沽区| 毕节市| 合作市| 肃宁县| 祁门县| 定陶县| 林芝县|