有没有办法告诉哪个按钮打开了一个对话界面?

时间:2013-06-03 03:28:10

标签: android button

我正在使用this问题(第一个答案)中的代码在一个对话框接口框中选择日期和时间。但是我正在做一个开始时间和结束时间,因此有两个按钮可以打开相同的对话界面。有没有办法找出哪一个打开了对话框界面,以便在我的onSet方法中我可以做类似的事情:


    if (start_button opened the dialog) {  
        return result to start time TextView;  
    } else if (end_button opened the dialog) {  
        return result to end time TextView;  
    }

1 个答案:

答案 0 :(得分:1)

您可以使用android:id=@+id/buttonX值来确定按下的按钮。

您的活动代码中有这样的(可能):

private int mButtonPressed = -1;

... heap of code ...

public void pressedButton(View view) {
    mButtonPressed = view.getId();
}

// your code from your question
if (mButtonPressed == R.id.buttonX) {  
    return result to start time TextView;  
} else if (mButtonPressed == R.id.buttonY) {  
    return result to end time TextView;  
}

在按钮的布局XML中,请确保包括:

<Button
    android:id="@+id/buttonX"  
    android:onclick="pressedButton"
    ... more attributes ...
/>
<Button
    android:id="@+id/buttonY"  
    android:onclick="pressedButton"
    ... more attributes ...
/>