2012-02-02 6 views
1

Вместо того, чтобы вызывать отдельный метод для каждой кнопки, можно ли просто использовать один метод и проверить, какая кнопка была нажата на его идентификатор?Один метод для нескольких кнопок?

Я использую простой способ, как android:onClick="activateButtons"

public void activateButtons(View v) 
{ 
    if(?? == btn_1) 
    { 
    Code for button with ID = btn_1 
    } 
    if(?? == btn_1) 
    { 
    Code for button with ID = btn_2 
    } 
} 

ответ

2

Вы можете сделать, если вы помечать кнопки с идентификатором. Установите android:id="@+id/yourbuttonid" в xml-файле. Затем сделайте if(v.getId() == R.id.yourbuttonid) в методе onClick.

+0

Хороший код! Благодаря! –

1

Да, это возможно. Вы можете назначить определенные идентификаторы (например: button1) для кнопок, а затем вызвать v.getId() в activateButtons (метод onclick), чтобы проверить, совпадает ли он с R.id.button1, а затем выполните свою операцию там.

Приветствия,

Richie

1
public void onClickKeyPad(View view) 
{ 
    EditText text = (EditText)findViewById(R.id.text_password); 

    switch(view.getId()) 
    { 
    case R.id.button_0: 
     text.setText(text.getText() + "0"); 
    break; 
    case R.id.button_1: 
     text.setText(text.getText() + "1"); 
    break; 

    case R.id.button_cancel: 
     finish(); 
    break; 

    default: 
    break; 
    } 
} 
+0

Хороший код! Благодаря! –

Смежные вопросы