繁体   English   中英

单击按钮做两件事,反之亦然

[英]Click Button To Do two things And Vice Versa

我想制作一个按钮,它会在点击时调用两个函数我目前正在使用这个代码,但是当我第三次点击它时什么也没有发生,我想反之亦然,就像当用户第三次点击按钮时它会再次调用计数 1。 . 此代码目前我正在使用

@Override
public void onClick(View v) {
    clickcount=clickcount+1;

    if(clickcount==1)
    {
        Random i = new Random ();
        int c= i.nextInt(7-1) + 1;
        bck.setBackgroundColor(Color.BLACK);
        TextView textresult = (TextView) findViewById(R.id.textView);
        textresult.setTextColor(Color.WHITE);
    }
    else
    {
        Random i = new Random ();
        int c= i.nextInt(7-1) + 1;
        bck.setBackgroundColor(Color.WHITE);
        TextView textresult = (TextView) findViewById(R.id.textView);
        textresult.setTextColor(Color.BLACK);
    }
}

你好,伙计,请这样做

clickcount=0;

@Override
public void onClick(View v) {
    clickcount = clickcount + 1;
    if(clickcount%2 == 1) {
        Random i = new Random ();
        int c = i.nextInt(7 - 1) + 1;
        bck.setBackgroundColor(Color.BLACK);
        TextView textresult = (TextView) findViewById(R.id.textView);
        textresult.setTextColor(Color.WHITE);
    } else {
        Random i = new Random ();
        int c = i.nextInt(7 - 1) + 1;
        bck.setBackgroundColor(Color.WHITE);
        TextView textresult = (TextView) findViewById(R.id.textView);
        textresult.setTextColor(Color.BLACK);
    }
}

布尔值的另一种解决方案:

boolean check = true;

@Override
public void onClick(View v) {

    Random i = new Random ();
    TextView textresult = (TextView) findViewById(R.id.textView);
    int c= i.nextInt(7-1) + 1;

    bck.setBackgroundColor(check ? Color.BLACK : Color.WHITE);
    textresult.setTextColor(check ? Color.WHITE : Color.BLACK);

    check = !check;
}

或者,如果您想要两个功能:

boolean check = true;

@Override
public void onClick(View v) {

    if(check) {
      // first function
    } else {
      // second function
    }
    check = !check;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM