久草免费在线观看-久草免费在线色站-久草免费在线视频-久草免费资源-天堂网中文在线-天堂网中文字幕

歡迎來到酷云建站平臺,全網營銷云系統加盟中心!

海量企業網站模板 · 任您選擇

美出特色,精出品質,一切為了企業更好的營銷

隱藏側欄
Beta
轉載

Android開發中添加事件監聽器的方法有哪些?

       小程序     2021-12-16     admin     46     0    

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

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

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

為TRUE按鈕設置監聽器(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類。)

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

使用匿名內部類

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

mTrueButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// Does nothing yet, but soon!

}

});

所有的監聽器都可以以匿名內部類來實現,這樣做有以下兩個好處:

第一:因為匿名內部類的使用,我們可在同一處實現監聽器方法,代碼更清晰可讀;

第二:事件監聽器一般只在同一處使用,使用匿名內部類可避免不必要的命名類實現。

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

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

為FALSE按鈕設置監聽器(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!

}

});

}


--結束END--

本文鏈接: http://www.u0rvp.cn/start/2394.html (轉載時請注明來源鏈接)

 
本文標簽: 全部

下班PC閱讀不方便?

手機也可以隨時學習開發

微信關注公眾號“酷云”
"酷云平臺前端開發教學"
每日干貨技術分享
 

×

成為 酷云平臺 代理商!

關注

微信
關注

微信掃一掃
獲取最新優惠信息

酷云平臺公眾號

客服

聯系
客服

很高興為您服務
尊敬的用戶,歡迎您咨詢,我們為新用戶準備了優惠好禮。 咨詢客服

聯系客服:

在線QQ: 3206174

客服電話: 0516-83703228

售前咨詢 售后服務
在線交談 智能小云

工作時間:

周一至周五: 09:00 - 17:00

WAP

手機
訪問

移動端訪問
手機上也能選模板

酷云平臺手機端