0

我正在制作一个应用程序,其中有一个微调器,您可以在其中选择 4 个选项中的 1 个。我想要它,以便如果您单击选项 a 图像,则会在下面绘制一个布局,并且如果您选择选项 ba 绘制不同的布局,我尝试将布局设置为不可见并使其成为可见的,以便当您选择一个主题时布局变得可见但问题是当我需要该布局消失时它不会

这是我的代码,当我从微调器中选择一个选项时,此代码都会出现

 if (pos == 1){

            cooldown.setVisibility(0);
            warmup.setVisibility(1);

        }else if (pos == 2){
            cooldown.setVisibility(1);
            warmup.setVisibility(0);
        }

我认为setvisibility是一个死胡同

4

3 回答 3

2

参数 forsetVisibility()不应该被硬编码为 0 或 1。有常量。VISIBLE是 0、INVISIBLE是 4 和GONE是 8。传入 1 不会做任何事情。 看这里。

在您的情况下,您应该使用VISIBLEand GONEsinceINVISIBLE仍将占用布局空间。

于 2013-04-25T02:15:30.467 回答
1

这些不是visibility. 试试吧

 if (pos == 1){

        cooldown.setVisibility(View.VISIBLE);
        warmup.setVisibility(View.INVISIBLE);

    }else if (pos == 2){
        cooldown.setVisibility(View.INVISIBLE);
        warmup.setVisibility(View.VISIBLE);
    }

能见度

如果这些是单个图像,那么这就是您想要的方式。如果它们Layouts包含很多,Views那么您可能需要考虑使用Fragments

于 2013-04-25T02:15:15.703 回答
0

我认为你应该使用VISIBLE, INVISIBLE, GONE代替数字

于 2013-04-25T03:16:51.530 回答