Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在可见的两个视图之间切换?_Java_Android - Fatal编程技术网

Java 如何在可见的两个视图之间切换?

Java 如何在可见的两个视图之间切换?,java,android,Java,Android,我正在做一个帮助乒乓球比赛得分的申请。我在最后阶段,但我有麻烦切换服务器左右每两点。我已经考虑了很多,但我只能让它切换一次。我知道这可能是一个简单的解决办法,但我就是没有想到 这里是我如何切换它一次。每次按下按钮时,我都使用计数,当它达到可被2整除的数字时,它会向右切换。。然而,使用这种逻辑很难切换回来!提前谢谢 public void serveSwitch() { TextView leftServe = findViewById(R.id.leftServe); T

我正在做一个帮助乒乓球比赛得分的申请。我在最后阶段,但我有麻烦切换服务器左右每两点。我已经考虑了很多,但我只能让它切换一次。我知道这可能是一个简单的解决办法,但我就是没有想到

这里是我如何切换它一次。每次按下按钮时,我都使用计数,当它达到可被2整除的数字时,它会向右切换。。然而,使用这种逻辑很难切换回来!提前谢谢

    public void serveSwitch() {
    TextView leftServe = findViewById(R.id.leftServe);
    TextView rightServe = findViewById(R.id.rightServe);
    serverCount++;
    if (server.serve=="left") {
        if (serverCount % 2 == 0) {
            rightServe.setVisibility(View.VISIBLE);
            leftServe.setVisibility(View.GONE);
        }

    }
我正在努力解决的部分是关于如何每两点切换可见性的逻辑

如果我的观点正确,您希望每两点将可见性从关闭切换到打开,反之亦然

您可以执行以下操作:

...
if (server.serve=="left") {
    if (serverCount % 2 == 0) {

        switch (rightServe.getVisibility()) {
            case View.GONE:
                rightServe.setVisibility(View.VISIBLE);
                break;

            case View.VISIBLE:
                rightServe.setVisibility(View.GONE);
                break;
        }

        switch (leftServe.getVisibility()) {
            case View.GONE:
                leftServe.setVisibility(View.VISIBLE);
                break;

            case View.VISIBLE:
                leftServe.setVisibility(View.GONE);
                break;
        }

    }

}
注意:我保留了等式,正如您所说的那样,它没有问题。但一般来说,在java中比较字符串时应该使用.equals

我正在努力解决的部分是关于如何每两点切换可见性的逻辑

如果我的观点正确,您希望每两点将可见性从关闭切换到打开,反之亦然

您可以执行以下操作:

...
if (server.serve=="left") {
    if (serverCount % 2 == 0) {

        switch (rightServe.getVisibility()) {
            case View.GONE:
                rightServe.setVisibility(View.VISIBLE);
                break;

            case View.VISIBLE:
                rightServe.setVisibility(View.GONE);
                break;
        }

        switch (leftServe.getVisibility()) {
            case View.GONE:
                leftServe.setVisibility(View.VISIBLE);
                break;

            case View.VISIBLE:
                leftServe.setVisibility(View.GONE);
                break;
        }

    }

}

注意:我保留了等式,正如您所说的那样,它没有问题。但一般来说,在java中比较字符串时应该使用.equals。

if server.service.equalsleef{谢谢你的评论,这是什么意思?@Dom.F在java中,你不能将字符串与==sign进行比较,但要使用.equals方法,而不是使用.equals方法。语句的这一部分是有效的,它决定了哪一方启动服务。我正在努力解决的部分是关于如何在server.service.equalslow中每两点切换可见性的逻辑{谢谢你的评论,这是什么意思?@Dom.F在java中,你不能将字符串与==sign进行比较,但要使用.equals方法,而不是使用.equals方法。语句的这一部分是有效的,它决定哪一方启动服务。我正在努力解决的部分是关于如何每两点切换可见性的逻辑。就是这样!谢谢你的帮助。I guess我需要阅读开关语句。感谢关于equals的建议。我将继续使用它。就是这样!感谢帮助。我想我需要阅读开关语句。感谢关于equals的建议。我将继续使用它