我有三个视图,可见性当前设置为view.setVisibility(view.GONE)
,我有一个按钮,我想在用户不断单击按钮时一次将可见性更改为可见。我想我必须使用以按钮单击为中心的 for 循环,但我不知道如何。任何想法将不胜感激。
int i = 0;
onClick(View v){
switch(++i){
case 1:
view1.setVisibility(View.GONE);
break;
case 2:
view2 setVisibility(View.GONE);
break;
case 3:
view3.setVisibility(View.GONE);
i = 0;
break;
}
}
您必须创建一个
包含视图和变量的数组,以了解现在可见的视图:
View[] views; // put your 3 views inside (0 will be first shown)
int position = 3;
内部按钮侦听器只需更改视图可见性:
注意使用静态
View.GONE
和View.VISIBLE
// hide the view
views[position].setVisibility(View.GONE);
// change the position
position = position == 3 ? 0 : position++;
// show new view
views[position].setVisibility(View.VISIBLE);
维护一个标志 int clickEventFlag = 0
在您的按钮上单击使用
clickEventFlag++;
switch(clickEventFlag % 3){
case 0:
//set visible first view
break;
case 1:
//set visible second view
break;
case 2:
//set visible third view
break;
}