畢業(yè)后愉粤,在IBM干了一年,接觸了各種技術(shù)拿撩,現(xiàn)在決定要認真做了Java程序員了衣厘。不過現(xiàn)在不急于追求Java的高深技術(shù),先重溫下Android的UI吧,畢竟寫了那么多的Service影暴,卻沒寫幾個Activity错邦。
對于Button的4種響應(yīng)屏幕點擊事件的方法也是快忘得差不多了,在此記錄一下吧型宙。
1st.
用setOnclickListener(View.OnClickListener listener)來做接收一個點擊事件的監(jiān)聽器撬呢。
這個用法最為常用,只需要自定義一個點擊事件監(jiān)聽器類并實現(xiàn)View.OnClickListener的onClick(View v)方法
示例代碼如下:
class MyOnClickListener implements View.OnclickListener{
public void onClick(View v){
//TODO
}
};
然后就可以注冊到按鈕上了妆兑。
button.setOnClickListener(new MyOnClickListener ());
2th.
當然魂拦,在監(jiān)聽器只適用一個按鈕時,也可以采用匿名內(nèi)部類的形式
button.setOnclickListener(new View.OnClickListener (){
public void onClick(View v){
//TODO
}
});
3th.
為了方便搁嗓,有時候我會直接讓Activity去實現(xiàn)View.OnClickListener接口芯勘,這時候就只需要在Activity中實現(xiàn)接口的onClick()方法就可以了,同時也可以讓多個按鈕復(fù)用一個監(jiān)聽器谱姓。然后在onClick()方法判斷下Button的id就好了借尿。
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
...
btn.setOnclickListener(this);
}
public void onClick(View v){
switch(v.getId()){
case R.id.btn0:
//TODO
break;
case R.id.btn1:
//TODO
break;
default:
//TODO
break;
}
}
}
4th.
最后一種方法就是在布局文件中指定一個方法來響應(yīng)點擊事件。布局文件的寫法如下:
<Button
android:onClick="clicked"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn0" />
這樣當按鈕被點擊時屉来,就會調(diào)用對應(yīng)的Activity中的相應(yīng)方法了路翻。
public void clicked(View v){
//TODO
}
Android的Button相應(yīng)方法跟JavaSE的方式算是如出一轍了。