几个按钮的一种方法?

时间:2012-02-02 14:45:56

标签: android

而不是必须为每个按钮调用单独的方法,是否可以只使用一个方法并检查它的id被点击了哪个按钮?

我正在使用像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
    }
}

3 个答案:

答案 0 :(得分:2)

如果使用Id标记按钮,则可以执行此操作。在xml文件中设置android:id="@+id/yourbuttonid"。然后在if(v.getId() == R.id.yourbuttonid)方法中执行onClick

答案 1 :(得分:1)

是的,这是可能的。您可以为按钮分配特定的ID(例如:button1),然后在activateButtons(onclick方法)中调用v.getId()来检查它是否等于R.id.button1,然后在那里进行操作。

干杯,

里奇

答案 2 :(得分: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;
    }
}