onClick事件按钮

时间:2014-01-28 08:19:54

标签: android button onclick

我有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);
}

4 个答案:

答案 0 :(得分:1)

setOnClickListener(null)

可以做到这一点,或者你可以做到

setClickable(false)

答案 1 :(得分:0)

也许你真正需要的是RadioGroup?它允许开箱即用,当时只能选择一个按钮。

Doc reference

Tutorial

答案 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应阻止自身你这样试过吗?

相关问题