-1

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

4

3 回答 3

0
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;
      }
    }
于 2015-04-26T10:28:53.303 回答
0

维护旗帜 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;

 }
于 2015-04-26T10:30:31.730 回答
0

你必须用你的视图和一个变量创建一个数组来知道哪个视图现在可见:

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);
于 2015-04-26T10:27:19.697 回答