0

我的游戏活动中有 16 个按钮。Plus 4(我稍后会谈到它们),此时所有 4 都禁用。现在,每当用户单击这 16 个按钮中的一个时,我都会为其设置一些文本,然后将其禁用,因此无法再次使用它。当所有 16 个按钮都被单击和禁用时,有没有办法启用所有这 4 个按钮?

4

2 回答 2

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);
   }
}
于 2013-06-07T19:54:48.953 回答
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);
    //...
}
于 2013-06-07T19:54:37.060 回答