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

问题描述 投票:0回答:1

我正在开发一个有助于打乒乓球比赛的应用程序。我现在处于最后阶段,但是每两点切换一次服务器时遇到麻烦。我已经考虑了很多,但只能切换一次。我知道这可能是一个简单的解决方案,但它并不是我想要的。

这里是我切换一次的方法。每次按下按钮时,我都会使用一个计数,当它达到一个可被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);
        }

    }
java android
1个回答
0
投票

我苦苦挣扎的部分是如何每两点切换可见性的逻辑

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

您可以执行以下操作:

...
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()

© www.soinside.com 2019 - 2024. All rights reserved.