標籤:android課程
按鈕點擊事件,說白了就一個方法,setOnClickListener(OnClickListener)。
只要傳遞的參數只要是OnClickListener介面的子類即可,很容易想到的2種實現方式就是匿名內部類和定義一個類實現這個介面。另外還有2種實現方法,有必要著重講一下:
1.讓Activity自身實現OnClickListener介面,傳遞setOnClickListener參數用this。
然後在onClick(View v)方法中,判斷事件來源id.
switch(v.getId())
{
case R.id.XXX000
響應代碼
break;
case R.id.XXX111
響應代碼
break;
}
這個和定義一個類實現介面的方法一個道理,只是免得我們再去多定義一個類而已。直接讓Activity自身實現OnClickListener介面,實現它裡面的OnClick方法。
這種定義方式適用於有多個點擊事件的情況。
2.在布局檔案中定義一個標籤屬性android:onclick="方法名",然後在Android項目調用這個布局的.java檔案中定義一個方法,public 方法名(View v),記住要public且有View參數。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6F/B8/wKioL1WmeISQsg6SAAG2k_kZ2I0908.jpg" title="click.PNG" alt="wKioL1WmeISQsg6SAAG2k_kZ2I0908.jpg" />
通過查看Button的父類View的源碼,可以發現,OnClick底層使用的是反射原理,但是沒有使用暴力反射,所以定義方法時要用public。
本文出自 “行意天下” 部落格,請務必保留此出處http://4259297.blog.51cto.com/4249297/1675142
Android Day01-Android按鈕點擊事件的4種寫法