当所有其他按钮被禁用时,如何启用某些按钮?

时间:2013-06-07 19:41:39

标签: java android

我的游戏活动中有16个按钮。加4(我将在稍后讨论),此时所有4个禁用。现在,每当用户点击这16个按钮中的一个时,我会为其设置一些文本然后将其禁用,因此无法再次使用。当点击并禁用所有16​​个按钮时,有没有办法启用所有这4个按钮?

2 个答案:

答案 0 :(得分:2)

这是一种快速的方法:

public class example{
    int activeButtons = 16;

    public void onCreate(Bundle savedInstanceState){
        //initialize
    }

    /**
    * This is your onClick method
    */
    public void click(View v){
        v.setEnabled(false);
        activeButtons--;
        if(activeButtons == 0){
            enable();
        }
    }

    /**
    * This will enable your four buttons
    */
    public void enable(){
        //Get references to your buttons here
        Button b1 = ...;
        Button b2 = ...;
        Button b3 = ...;
        Button b4 = ...;

        b1.setEnabled(true);
        b2.setEnabled(true);
        b3.setEnabled(true);
        b4.setEnabled(true);
   }
}

答案 1 :(得分:0)

实现所要求的一种方法的一个例子就是在你的代码中留出这样的案例;如果我理解你的问题是关于上面发布的内容:

Button buttonOne = null;
//...fourteen buttons
Button otherButtonOne = null;
//...other four buttons

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setupButtons();
}

private void setupButtons()
{
    buttonOne.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            //..Whatever else you do with button.
            if(allButtonsAreDisabled())
            {
                enableOtherFourButtons();
            }
        }
    });
    //...
}

private boolean allButtonsAreDisabled()
{
    if(!buttonOne.isEnabled()) // && !buttonTwo.isEnabled() && ...
    {
        return true;
    }
    else
        return false;
}

private void enableOtherFourButtons()
{
    otherButtonOne.setEnabled(true);
    //...
}