/res/layout/main.xml
1、框架是主角,它呼叫子類的onCreate()函數時,首先正向呼叫父類Activity的onCreate()函數,先執行父類的預設函數,然後才執行自己(即MainActivity) 的onCreate()函數的指令。繼續執行到setContentView(R.layout.main)指指令時,就去取main.xml 的內容,依據它來進行屏幕畫面的佈局(Layout)。 2. 指令:Button btn = (Button)findViewById(R.id.button);找出目前的佈局(即R.layout.main)裡的按鈕參考,並存入btn變量,於是btn就參考到畫面上id 值為id/button 的按鈕了。 3. 指令:btn.setOnClickListener(this);這設定按鈕事件的處理程序(Event Handler),又稱為事件監聽者。當使用者按下id 值為id/button 的按鈕時,框架必須把事件準確地傳遞到適當的類,並呼叫所指定的函數。其中的參數:this 就表示此按鈕事件必須傳遞到MainActvity的對象,也就是目前對像(Current Object)。至於由MainActvity類的哪一個函數來處理呢?就是由OnClickListener 接口所規定的onClick(View arg0)函數來處理。 4、由於可能有多個按鈕,其事件都會傳遞到MainActvity類,都由onClick()函數負責處理,所以在onClick()函數里的switch 語句按照按鈕id值來判斷到底是哪一個按鈕送來的事件。如果是由id 值為id/button 的按鈕(即OK)所送來的話,就在畫面標題(Title)區顯示出字串:」this is OK button」。反之,如果是由id 值為id/button2 的按鈕(即Exit)所送來的話,就呼叫父類的finish()函數而結束目前的畫面(即目前的Activity)。 Java代碼2:
|