按下一个按钮后阻止其他按钮

时间:2011-03-24 09:15:14

标签: android

在我的活动中,我有很多按钮可以启动其他活动。问题是,当我按下按钮时,我不希望能够按下另一个按钮,因此启动2个活动(或更多)。在按下其中一个视图(按钮)后,阻止其他视图(按钮)的最佳解决方案是什么?

3 个答案:

答案 0 :(得分:2)

在每个按钮的每个onClickListener中创建button.setDisable(true);。 不要忘记在onResume()中启用它们。

答案 1 :(得分:1)

为所有按钮添加一个onClickListener()。在监听器中按照id切换动作。

public .. onClickListener(){
// Disable all buttons here..
button1.setDisabled(true);
button2.setDisabled(true);
button3.setDisabled(true);
...
switch(view.getId()){
 case R.id.button1:
// Start some activiy ... or do some task...
break;
 case R.id.button2:
...
break;. ...

}

不要忘记启用onResume()

中的所有按钮
public .. onResume(){
button1.setDisabled(true);
    button2.setDisabled(true);
    button3.setDisabled(true);
}

或者,尝试此操作以启用/禁用viewGroup中的所有视图...

private void enableDisableView(View view, boolean enabled) {
    view.setEnabled(enabled);

    if ( view instanceof ViewGroup ) {
        ViewGroup group = (ViewGroup)view;

        for ( int idx = 0 ; idx < group.getChildCount() ; idx++ ) {
            enableDisableView(group.getChildAt(idx), enabled);
        }
    }
}

view参数作为包含所有按钮的父布局传递。

我没有用过这个,但这应该有效。尝试玩这个代码。

答案 2 :(得分:0)

尝试此操作以禁用按钮

button.setEnabled(false);