有沒有辦法有1的onClick李斯特許多按鈕,在那裏我可以折騰case語句做基礎上被點擊的按鈕是什麼東西。可變的OnClick聽衆的Android
我知道我可以做100名不同的聽衆爲100個按鈕,但我覺得我可以創造一些漂亮的變量做在較少的代碼行。
有沒有辦法有1的onClick李斯特許多按鈕,在那裏我可以折騰case語句做基礎上被點擊的按鈕是什麼東西。可變的OnClick聽衆的Android
我知道我可以做100名不同的聽衆爲100個按鈕,但我覺得我可以創造一些漂亮的變量做在較少的代碼行。
Button btn1, btn2;
public void onCreate(Bundle b)
{
// here you do normal things like assigning a
// content view to the activity, initiate buttons, etc.
// then you assign the same listener to both buttons
btn1.setOnClickListener(yourListener);
btn2.setOnClickListener(yourListener);
}
// declare a OnClickListener that will execute different actions
// depending on the view that was clicked
View.OnClickListener yourListener = new View.OnClickListener(){
public void onClick (View v){
if(v == btn1){
// do something
}
elseif(v == btn1){
// do another thing
}
}
};
public class MainActivity extends Activity implements View.OnClickListener{
btnXXX.setOnClickListener(this);
public void onClick(View v) {
if (v.getId()==R.id.btnXXX){
dialog.show();
} else {
handleOtherViews(v);
}
}
如果您正在使用1.6+版本的SDK,您可以使用android:onClick設置視圖的onclick處理程序。在你的活動中,你必須有一個具有以下簽名的方法。該視圖是被點擊的視圖。
void onClick(View v) {
switch(v.getId()) {
case R.id.button1:
//do something fantastic;
break;
}
}
這個工作對我來說太棒了。謝謝。 – shaneburgess 2010-06-26 01:25:59