Android onClick事件按钮
我有5个按钮,每个按钮打开另一个活动。如何使clickeble在当前时刻仅显示其中一个?当我同时单击两个不同的按钮时,单击事件调用两次,将打开两个不同的活动。我怎样才能解决我的问题。谢谢,我的密码Android onClick事件按钮,android,button,onclick,Android,Button,Onclick,我有5个按钮,每个按钮打开另一个活动。如何使clickeble在当前时刻仅显示其中一个?当我同时单击两个不同的按钮时,单击事件调用两次,将打开两个不同的活动。我怎样才能解决我的问题。谢谢,我的密码 public void onClick(View v) { switch (v.getId()) { case R.id.play_button: onPlayClick();
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);
}
也许你真正需要的是放射组?它允许开箱即用,一次只选择一个按钮 你会耍花招,还是你可以
setClickable(false)
在
活动中单击创建变量
:
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;
}}
}
如果要在每次单击时打开活动,请对每个按钮使用onClick侦听器,或通过android:onClick=“somethod”在xml布局中添加方法调用,当您单击一个按钮并调用另一个活动时,UI应该会阻止自己…您是否尝试过这种方式?以及此代码应该做什么?)它将仅从“播放”按钮捕获onClick事件。我认为这是您想要的。让我编辑我的ans。这应该有效,但不要认为这是最好的方法。谢谢。当我使用setClickable(false)而不是setEnabled(false)时,结果是相同的。请尝试在setClickListener上使用null值
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;
}}
}