在Android中,似乎有3種處理按鈕點擊的常見方法,這些方法之間有多大的差異?他們中的任何一個在某種程度上「更好」?如何處理在Android中點擊的按鈕?
這三種方法我一直看到的是:
匿名類
查找按鈕,通過它的ID,然後通過一個新的匿名類setOnClickListener
,例如在onCreate
findViewById(R.id.myButton).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// .. Whatever
}
});
實現OnClickListener
實施OnClickListener
並傳遞到this
setOnClickListener
,然後使用基於按鈕的ID,例如一個switch敘述在onCreate
findViewById(R.id.myButton).setOnClickListener(this);
和實施onClick
像
public void onClick(View v) {
switch(v.getId()) {
case R.id.myButton:
// ... whatever ...
break;
}
}
使用的onClick XML屬性附加傷害
在爲您的活動的XML佈局,而不是給你的按鈕的ID,使用onClick
這樣:
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick="buttonClicked"
android:text="Button" />
然後在你的Acitiviy一個buttonClicked
方法是這樣的:
public void buttonClicked(View v) {
// ... whatever ...
}
目前,我傾向於使用XML屬性,但是這只是因爲它涉及最少的代碼量。我應該何時使用其他方法?
+1用於描述第三種方法。我只是學習Android,並沒有意識到'onClick'屬性。 – Mike