在按钮单击时将FrameLayout设置为可见

时间:2014-02-03 21:47:37

标签: java android api counter android-framelayout

我正在尝试创建一个应用程序,允许多个FrameLayouts在按钮单击时一次显示一个。

目前我的代码是:

int count = 0;

    if(count == 0 && view.isEnabled()) {
        FrameLayout addActivities = (FrameLayout)findViewById(R.id.frameLayout2);
        addActivities.setVisibility(View.VISIBLE);  
        count++;
    }   
    if (count == 1 && view.isEnabled()) {       
        FrameLayout addActivities2 = (FrameLayout)findViewById(R.id.frameLayout3);
        addActivities2.setVisibility(View.VISIBLE);
        count++;
    }
    if(count == 2 && view.isEnabled()) {
        FrameLayout addActivities3 = (FrameLayout)findViewById(R.id.frameLayout4);
        addActivities3.setVisibility(View.VISIBLE);
    }

当我点击按钮时,这基本上可以看到3个FrameLayouts,这是相当明显的。我基本上希望每个FrameLayout一次出现一个,即单击该按钮将生成frameLayout2,再次单击按钮frameLayout3,最后单击frameLayout4。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

你应该......

A)颠倒你的if语句的顺序 要么 B)使用switch语句代替计数(更好的方法)

你基本上都在调用所有的if语句,因为当你的计数递增时,你没有打破任何循环。

答案 1 :(得分:0)

count更改为成员,如果达到3则最终重置。然后将其他内容添加到您的if中:

if (count == 0 && ...) {
    ...
} else if (count == 1 && ...) {
    ...
} else if (count == 2 && ... ) {
    ...
}

您可能希望在每个if-block中将一个FrameLayout设置为View.VISIBLE,将另外两个设置为View.GONE,具体取决于您希望实现的效果。