1. 程式人生 > >在Activity中引用控制元件以及控制元件的點選事件

在Activity中引用控制元件以及控制元件的點選事件

今天我們要講的是在Activity中使用控制元件,我們在AndroidStudio中建立好了專案,會有一個Mainactivity,對了這裡推薦大家在使用AndroidStudio寫程式碼的時候,選擇project如下圖:

選擇這種結構呢,大家可以很清楚的看到專案目錄結構

良好的目錄結構是很重要的呢,以後阿杰會給大家說怎麼寫目錄。好了回到我們的重點,我們新建專案會有一個MainActivity,我們進入這個Activity的佈局中寫一個button的控制元件:

 <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Btn" />

大家記住一定要寫ID,不然待會找不到這個控制元件程式會報空指標的錯誤,就會崩潰。

然後我們在回到Activity中,因為我們是用的Buttom控制元件,我們先宣告一下這個控制元件:

 private Button button;

好,然後我們在onCreat方法中通過findViewbyID的方法去找個佈局中的控制元件

  button=findViewById(R.id.btn);

btn就是剛才我們在佈局檔案中給控制元件給的一個ID,所以說,這個ID很重要,是控制元件的一個標識。OK 接下來我們就可以對這個控制元件進行一系列的操作,比如:

 button.setText("設定Button顯示的文字");
        //設定背景顏色
        button.setBackgroundResource(R.color.colorAccent);

接下來最重要的,點選事件,每個View都有自己的點選事件,我們以這個buttom為例:

  button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                
            }
        });

我們寫了這個方法以後,就可以在onclick方法中處理button的點選事件,比如,我們點選這個按鈕後,讓他在控制檯列印一句話:

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d("onClick", "我是Button,我被點選了");
            }
        });

然後我們執行專案,點選button,在控制檯就會打印出這句話:

這就是button的點選事件設定,還有一種方式來設定button的點選事件,阿杰推薦這種方式:

就是實現OnclickListener介面,重寫onclick方法,這種方式在點選事件較多的情況下,會讓程式碼可讀性增強,減少重複程式碼。

我們先來實現OnclickListener介面:

然後我們重寫onclick方法:

我的點選事件就在onclick中實現,我們還是打印出一句話:

接下來我們執行程式碼,點選button。。。。。。一段時間後,咦,怎麼沒有打印出這句話?怎麼回事,這個方法行不通?並不是的,因為我們還沒有給Button設定監聽呢,找到button按鈕後:

 button.setOnClickListener(this);

這樣就可以了,這樣就是真正的實現了監聽。阿杰在剛開始實現OnclickListener介面的時候,也是經常忘記設定監聽這一步,所以這裡提出來給大家說一下,我其實是個戲精,哈哈!好了,大家可以下去試一下,希望能給到大家幫助。謝謝大家!