我正在尝试创建一个应用程序,允许多个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。
感谢您的帮助!
答案 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
,具体取决于您希望实现的效果。