我有5个按钮,每个按钮都打开另一个活动。如何在当前时刻只制作其中一个?当我同时点击2个不同的按钮onClick事件调用2次,打开2个不同的活动。我该如何解决我的问题。谢谢。我的代码
public void onClick(View v)
{
switch (v.getId())
{
case R.id.play_button:
onPlayClick();
setButtonsEnable(false);
break;
case R.id.difficalty_button:
onDifficultyClick();
setButtonsEnable(false);
break;
case R.id.hight_scores_button:
onHighScoresClick();
setButtonsEnable(false);
break;
case R.id.share_button:
setButtonsEnable(false);
break;
case R.id.turn_off_button:
onLeaderboardClick();
setButtonsEnable(false);
break;
default:
break;
}
}
返回主要活动后,我可以点击我的按钮
protected void onResume() {
super.onResume();
setButtonsEnable(true);
}
public void setButtonsEnable(boolean config)
{
playBtn.setClickable(config);
difficultyBtn.setClickable(config);
hScoreBtn.setClickable(config);
shareBtn.setClickable(config);
turnOffButton.setClickable(config);
}
答案 0 :(得分:1)
setOnClickListener(null)
可以做到这一点,或者你可以做到
setClickable(false)
答案 1 :(得分:0)
答案 2 :(得分:0)
创建一个点击Activity
的变量:
boolean clicked=false;
在onClick代码中设置此值:
public void onClick(View v)
{
if(!clicked){
clicked=true;
switch (v.getId())
{
case R.id.play_button:
onPlayClick();
setButtonsEnable(false);
break;
case R.id.difficalty_button:
onDifficultyClick();
setButtonsEnable(false);
break;
case R.id.hight_scores_button:
onHighScoresClick();
setButtonsEnable(false);
break;
case R.id.share_button:
setButtonsEnable(false);
break;
case R.id.turn_off_button:
onLeaderboardClick();
setButtonsEnable(false);
break;
default:
break;
}}
}
答案 3 :(得分:0)
如果要在每次单击时打开活动,请为每个按钮使用onclicklistener,或者通过android:onClick="someMethod"
在xml布局中添加方法调用,当您单击按钮并调用另一个活动时,UI应阻止自身你这样试过吗?