十年專注于品牌網(wǎng)站建設 十余年專注于網(wǎng)站建設_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
      南昌百恒網(wǎng)絡微信公眾號 掃一掃關注
      小程序
      tel-icon全國服務熱線:400-680-9298,0791-88117053
      掃一掃關注百恒網(wǎng)絡微信公眾號
      掃一掃打開百恒網(wǎng)絡微信小程序

      百恒網(wǎng)絡

      南昌百恒網(wǎng)絡

      Android開發(fā)中添加事件監(jiān)聽器的方法有哪些?

      百恒網(wǎng)絡 2017-07-12 5974

      我想從事南昌APP開發(fā)的朋友都知道,Android應用屬于典型的事件驅動類型。不像命令行或腳本程序,事件驅動型應用啟動后,即開始等待行為事件的發(fā)生,如用戶單擊某個按鈕。(事件也可以由操作系統(tǒng)或其他應用觸發(fā),但用戶觸發(fā)的事件更直觀。)

      應用等待某個特定事件的發(fā)生,也可以說應用正在“監(jiān)聽”特定事件。為響應某個事件而創(chuàng)建的對象叫作監(jiān)聽器(listener)。監(jiān)聽器是實現(xiàn)特定監(jiān)聽器接口的對象,用來監(jiān)聽某類事件的發(fā)生。無需自己編寫,Android SDK已經(jīng)為各種事件內(nèi)置開發(fā)了很多監(jiān)聽器接口。當前應用需要監(jiān)聽用戶的按鈕“單擊”事件,因此監(jiān)聽器需實現(xiàn)View.OnClickListener接口。

      首先處理TRUE按鈕。在QuizActivity.java文件中,在onCreate(...)方法的變量賦值語句后輸入下列代碼,如下代碼所示。

      為TRUE按鈕設置監(jiān)聽器(QuizActivity.java)

      ...

      @Override

      protected void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.activity_quiz);

      mTrueButton = (Button) findViewById(R.id.true_button);

      mTrueButton.setOnClickListener(new View.OnClickListener() {

      @Override

      public void onClick(View v) {

      // Does nothing yet, but soon!

      }

      });

      mFalseButton = (Button) findViewById(R.id.false_button);

      }

      }

      (如果遇到View cannot be resolved to a type的錯誤提示,請使用Option+Return或Alt+Enter快捷鍵導入View類。)

      在以上代碼中,我們設置了一個監(jiān)聽器。當按鈕mTrueButton被點擊后,監(jiān)聽器會立即通知我們。傳入setOnClickListener(OnClickListener)方法的參數(shù)是一個監(jiān)聽器。該參數(shù)是一個實現(xiàn)了OnClickListener接口的對象。

      使用匿名內(nèi)部類

      傳入SetOnClickListener(OnClickListener)方法的監(jiān)聽器參數(shù)是一個匿名內(nèi)部類(anonymous inner class)實現(xiàn),語法看上去稍顯復雜,不過南昌APP制作開發(fā)公司小編在這里告訴一個助記小技巧給大家:最外層括號內(nèi)的全部實現(xiàn)代碼就是傳入SetOnClickListener(OnClickListener)方法內(nèi)的一個參數(shù)。該參數(shù)就是新建的一個匿名內(nèi)部類的實現(xiàn)代碼。

      mTrueButton.setOnClickListener(new View.OnClickListener() {

      @Override

      public void onClick(View v) {

      // Does nothing yet, but soon!

      }

      });

      所有的監(jiān)聽器都可以以匿名內(nèi)部類來實現(xiàn),這樣做有以下兩個好處:

      第一:因為匿名內(nèi)部類的使用,我們可在同一處實現(xiàn)監(jiān)聽器方法,代碼更清晰可讀;

      第二:事件監(jiān)聽器一般只在同一處使用,使用匿名內(nèi)部類可避免不必要的命名類實現(xiàn)。

      匿名內(nèi)部類實現(xiàn)了OnClickListener接口,因此它也必須實現(xiàn)該接口唯一的onClick(View)方法。onClick(View) 方法的代碼暫時是一個空結構。雖然實現(xiàn)監(jiān)聽器接口需要實現(xiàn)onClick(View)方法,但具體如何實現(xiàn)由使用者決定,因此即使是空的實現(xiàn)方法,編譯器也可以編譯通過。

      參照以下代碼為FALSE按鈕設置類似的事件監(jiān)聽器。

      為FALSE按鈕設置監(jiān)聽器(QuizActivity.java)

      ...

      mTrueButton.setOnClickListener(new View.OnClickListener() {

      @Override

      public void onClick(View v) {

      // Does nothing yet, but soon!

      }

      });

      mFalseButton = (Button) findViewById(R.id.false_button);

      mFalseButton.setOnClickListener(new View.OnClickListener() {

      @Override

      public void onClick(View v) {

      // Does nothing yet, but soon!

      }

      });

      }

      以上就是南昌APP開發(fā)公司-百恒網(wǎng)絡為大家介紹的幾種Android開發(fā)中添加事件監(jiān)聽器的方法,如果還有哪些不懂的地方,可隨時來電和我們聯(lián)系,我們一定為您解答疑惑。此外,如有網(wǎng)站建設、微信開發(fā)、APP開發(fā)、網(wǎng)站推廣等方面的需要,百恒可隨時為您服務,咨詢熱線:400-680-9298(免長途費)


      400-680-9298,0791-88117053
      掃一掃關注百恒網(wǎng)絡微信公眾號
      掃一掃打開百恒網(wǎng)絡小程序

      歡迎您的光顧,我們將竭誠為您服務×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      国产成人精品免费视频大| 国产精品乱码高清在线观看 | 国产精品成人va在线观看| 久久99热精品免费观看动漫| 人与狗精品AA毛片| www.99精品视频在线播放| 日韩免费人妻AV无码专区蜜桃 | 一本久久伊人热热精品中文 | 亚洲精品高清国产一久久| 国产三级精品三级在线专区1| 国产精品男男视频一区二区三区| 日韩色日韩视频亚洲网站| 无码中文字幕日韩专区| 国产精品久久二区二区| 精品国产杨幂在线观看| 另类ts人妖精品影院| 国产精品无码一区二区三区毛片| 国产 精品 自在 线| 99久久精品日本一区二区免费| 精品无码一区二区三区电影| 亚洲精品国产成人中文| 3d动漫精品啪啪一区二区中文| 亚洲精品在线观看视频| 亚洲第一精品福利| 无码日韩人妻精品久久蜜桃| 无码国内精品人妻少妇| 久久99热精品这里久久精品| 久久99精品久久久久久综合| 夜色www国产精品资源站| 久久久久久影院久久久久免费精品国产小说 | 日韩十八禁一区二区久久| 国产偷窥熟女精品视频大全| 国产精品一区二区资源| 国产精品午夜爆乳美女| 国产成人亚洲精品蜜芽影院| 国产成人精品一区二三区| 国产在线精品二区赵丽颖 | 精品乱子伦一区二区三区| 久热精品人妻视频| 亚洲精品无码成人AAA片| 久久精品成人国产午夜|