嗨,我正在创建一个简单的教育游戏,其中用户必须按三个图像才能进入下一个级别,而在下一个级别用户必须按 5 个图像。
我已经完成了 on click 但我使用 onIntent intent = new Intent(this.getApplicationContext(), Activity.class);
this.startActivity(intent, 0);
我只能在按下单个按钮时开始新活动但我想在用户完成按下三个图像按钮时开始新活动。
先谢谢了。
嗨,我正在创建一个简单的教育游戏,其中用户必须按三个图像才能进入下一个级别,而在下一个级别用户必须按 5 个图像。
我已经完成了 on click 但我使用 onIntent intent = new Intent(this.getApplicationContext(), Activity.class);
this.startActivity(intent, 0);
我只能在按下单个按钮时开始新活动但我想在用户完成按下三个图像按钮时开始新活动。
先谢谢了。
您可以使用全局 int 变量并在每次单击按钮时增加它,如果它超过您的按钮编号打开新活动
public int btn = 0;
MyButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
if(btn >= 2) {
//open your activity
}
else{
btn++;
}
}
});
根据我对您问题的理解,我提供了一个可能的简单实现。使用简单的数据结构,如队列或堆栈。点击图像时,将有关图像的信息添加到数据结构中。将信息添加到数据结构后,查看数据结构中的项目数是否等于 3?如果是,则检查数据结构是否包含有关所需三个图像的信息,而不仅仅是有关同一图像的信息(如果用户多次点击同一图像,则会发生这种情况)。如果满足条件,则调用 startActivity()。概括这一点,以便您可以在不同的活动中重用逻辑,而不管图像的数量。
嗨,我终于实现了我想要的活动。现在,在选中两个复选框后,应用程序将开始新的活动。
`private CheckBox chkIos, chkAndroid, chkWindows; 私人按钮 btnDisplay;OnClickListener checkBoxListener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
chkIos = (CheckBox) findViewById(R.id.chkIos);
chkAndroid = (CheckBox) findViewById(R.id.chkAndroid);
checkBoxListener =new OnClickListener() {
public void onClick(View v) {
if(chkIos.isChecked()&&chkAndroid.isChecked()) {
Intent i1=new Intent(getApplicationContext(), Main1.class);
startActivity(i1);
if(chkAndroid.isChecked()) {
Intent i2=new Intent(getApplicationContext(), Main1.class);
startActivity(i1);
}
}
}
};
chkIos.setOnClickListener(checkBoxListener);
chkAndroid.setOnClickListener(checkBoxListener);
}
} `
感谢您的所有回答。