[英]Android Studio Event Listener mysteries (to me) (setOnClickEventListener)
我正在嘗試學習android編程,並且在深入理解概念方面停留在某一時刻。
因此,有這段代碼偵聽單擊事件的視圖(一個按鈕)。 順便說一句,代碼是來自站點的,並且工作正常。 但是我痴迷於對細節的理解。
clearButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// do some stuff
}
});
我有不同層次的問題:
1.據我所知,父函數(clearButton.setOnClickListener)是事件處理程序,單擊按鈕時將觸發該事件處理程序。 但是,我們正在傳遞給它一個對象的方法,據我所知,它是另一個事件偵聽器。 他們兩個都被命名為“ ClickListener”,所以我很困惑。 他們中有兩個真的是事件偵聽器嗎?
2. View對象(作為回調傳遞的對象)從何而來? 它是由系統隱式創建的嗎? 我的MainActivity.java文件中沒有這樣的定義。
3.我笨拙地嘗試用父函數調用另一個簡單的函數來編寫它,該函數僅顯示一個AlertDialog,但是我失敗了,因為clearButton.setOnClickEventListener期望從回調返回一個View(我認為:)。 還有其他方法可以完成此操作,還是將事件偵聽器設置為視圖的唯一方法? 我是否必須按原樣接受它並接受它,而不是苦苦掙扎:)我僅是為了了解結構的邏輯而要求這樣做,代碼可以正常工作。
4.傳遞給View.OnClickListener函數的視圖是什么? 是當前觀點嗎(我懷疑是這樣)? 傳遞給視圖的視圖的用例是什么?
5.在哪里(或可以在哪里)查看View.OnClickListener函數的代碼以更好地理解它?
6.所有這些練習在我腦海中引發了關於回調的另一個問題,但這可能是另一個問題:)
function
。 onClick
偵聽器。 檢查此非常有用的帖子 。 button1
,該視圖引用的是button1
。 不是很確定,但是我希望這可以給您一個想法。 學習和編碼愉快! 干杯! :d
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.