程式實戰-如何由系統分析出來流程,來進行程式的撰寫過程,要提出重要的地方來說明分析。如何進行事件處理。
下一步,當我們了解程式的基本架構後,接下來,就是再加入程式運算的邏輯判斷程式碼,在下述的範例中,主要是來了解如何導入其他用到的模組,如何取得、設定使用者介面元件的資料,如何觸發按鈕的事件方法。完整程式碼,如圖31所示。
圖31
事件處理步驟:
1.建立件監聽器。
2.給要回應事件的元件在onCreate註冊事件監聽器。
3.在事件處理方法中,撰寫要執行什麼樣的處理程式碼。
簡單的說明一下,新增加程式有那些作用。首先,是如何取得按鈕(Button)的元件,再設定如何設定觸發按鈕的事件方法。
取得按鈕(Button)的元件的程式碼如下:
Button button = (Button)findViewById(R.id.Button01);
就是要宣告一個button的實體,再透過findViewById方法,從資源檔中取得對應的介面按鈕元件。取出的是「R.id. Button01」按鈕元件名稱。當輸入R.id時,再按「.」就會出現目前可以取得元件名稱。
Tip 2:在宣告任何控制項的實體時,要先import android.widget.Button對應的控制項。
接下來,就是要設定觸發按鈕的事件方法,程式碼如下:
button.setOnClickListener(proc_labelChange);
就是要用「Button」類別中的「setOnClickListener」方法。在方法中傳入了一個「proc_labelChange」函式。這就是Android 系統的使用者介面互動方式採用常見的事件驅動方式。
也就是當使用者按下「button」按鈕的時候,Android 系統會去觸發按鈕的「setOnClickListener」方法中所指定的「proc_labelChange」函式。
接下來就是要寫按鈕觸發事件函式,如下述程式碼區塊:
private OnClickListener proc_labelChange = new OnClickListener()
{
public void onClick(View v)
{
}
};
Tip 3:在宣告任何控制項的事件時,要先import android.view.View.OnClickListener;對應的事件。
程式的範例中所有的邏輯與運算內容,都放置在這個事件函式程式區塊中。 就是當使用者按下按鈕時,會觸發「OnClickListener」類型的事件函式。
先宣告EditText及TextView的實體,才可以將輸入的字串,顯示到文字標籤的內容中,程式碼如下:
EditText txtTitle = (EditText)findViewById(R.id.EditText01);
TextView labTitle = (TextView)findViewById(R.id.TextView01);
跟上面 button 的宣告一樣,只是改成宣告EditText及TextView實體,透過 findViewById方法,從資源檔中取得對應的文字欄位元件。要記得,要先import對應的控制項。
接下來的運算邏輯就是將輸入的字串EditText,顯示設定到(setText方法)文字標籤TextView的內容(getText函式)中,程式碼如下:
labTitle.setText(txtTitle.getText().toString());