干熟妇在线视频午夜剧场一级A级|99成人香视频日本两性激情视频|久久 午夜福利无码精品人妻一区|热久久超碰精品精品少妇一区二区|五月天综合在线国产一区免费视频|亚洲成人中心热re久久99|亚洲国产怡红院丁香五月综合h|玖玖九久久久午夜射精视频

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

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

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

百恒網(wǎng)絡(luò) 2017-07-12 5868

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

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

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

為TRUE按鈕設(shè)置監(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快捷鍵導(dǎo)入View類。)

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

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

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

mTrueButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// Does nothing yet, but soon!

}

});

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

第一:因?yàn)槟涿麅?nèi)部類的使用,我們可在同一處實(shí)現(xiàn)監(jiān)聽器方法,代碼更清晰可讀;

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

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

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

為FALSE按鈕設(shè)置監(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)絡(luò)為大家介紹的幾種Android開發(fā)中添加事件監(jiān)聽器的方法,如果還有哪些不懂的地方,可隨時來電和我們聯(lián)系,我們一定為您解答疑惑。此外,如有網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、網(wǎng)站推廣等方面的需要,百恒可隨時為您服務(wù),咨詢熱線:400-680-9298(免長途費(fèi))


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

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

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
×
舒城县| 微山县| 蚌埠市| 龙陵县| 宣城市| 上思县| 屯昌县| 略阳县| 文昌市| 永丰县| 凤凰县| 达孜县| 诸城市| 于都县| 周至县| 都兰县| 义乌市| 富锦市| 横山县| 探索| 娱乐| 延寿县| 吴川市| 中超| 乐亭县| 安阳县| 肃宁县| 宣城市| 广安市| 富平县| 凤凰县| 师宗县| 阆中市| 岳普湖县| 公安县| 庄河市| 兰坪| 广元市| 祁门县| 古丈县| 朝阳市|