使用按钮一次更改一个视图的可见性

Changing the visibility of views one at a time with a button

我有三个视图,其可见性当前设置为 view.setVisibility(view.GONE),并且我有一个按钮,当用户不断单击该按钮时,我想将其可见性更改为一次可见一个。我想我必须使用以按钮单击为中心的 for 循环,但我不知道如何使用。任何想法将不胜感激。

您必须使用您的视图和一个变量创建一个数组以了解哪个视图现在可见:

View[] views; // put your 3 views inside (0 will be first shown)
int position = 3;

内部按钮侦听器只需更改视图可见性:

NOTE the use of static View.GONE and 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 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;
      }
    }

维护一个标志 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;

 }