我的家園

          我的家園

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

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

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

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

          使用eclipse創(chuàng)建安卓工程,假設(shè)工作名字使用button4,包使用com.mypack,在窗口中加入6個(gè)BUTTON.,使用默認(rèn)命名,系統(tǒng)自動(dòng)會(huì)命名為button1到button6,再加入一個(gè)editText,系統(tǒng)會(huì)自動(dòng)命名為editText1.工程項(xiàng)目包名都可以隨意。


          main.xml


          Button4Activity.java


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


          轉(zhuǎn)載聲明: 本文轉(zhuǎn)自  http://blog.csdn.net/blogercn/article/details/7395168



          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 赤峰市| 宁德市| 英德市| 金寨县| 维西| 枣庄市| 阜阳市| 南乐县| 康马县| 青州市| 乐平市| 沈丘县| 天气| 喀什市| 曲周县| 庆云县| 乐至县| 碌曲县| 盖州市| 绥棱县| 绥阳县| 绥宁县| 东阳市| 星子县| 曲阳县| 湛江市| 宜春市| 尖扎县| 永修县| 黄龙县| 诏安县| 乐亭县| 芦溪县| 贡觉县| 屏东县| 沅江市| 吴川市| 柳江县| 盐源县| 马山县| 曲水县|