【发布时间】:2015-04-26 10:18:39
【问题描述】:
我有三个视图,其可见性当前设置为view.setVisibility(view.GONE),并且我有一个按钮,当用户不断单击该按钮时,我想一次将可见性更改为可见一个。我想我必须使用以按钮单击为中心的 for 循环,但我不知道如何。任何想法将不胜感激。
【问题讨论】:
标签: java android android-view android-button android-looper
我有三个视图,其可见性当前设置为view.setVisibility(view.GONE),并且我有一个按钮,当用户不断单击该按钮时,我想一次将可见性更改为可见一个。我想我必须使用以按钮单击为中心的 for 循环,但我不知道如何。任何想法将不胜感激。
【问题讨论】:
标签: java android android-view android-button android-looper
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;
}
【讨论】: