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



我有三个视图,可见性当前设置为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.GONEView.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;
 }

相关内容

  • 没有找到相关文章

最新更新