我的游戏活动中有16个按钮。加4(我将在稍后讨论),此时所有4个禁用。现在,每当用户点击这16个按钮中的一个时,我会为其设置一些文本然后将其禁用,因此无法再次使用。当点击并禁用所有16个按钮时,有没有办法启用所有这4个按钮?
答案 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);
//...
}