2015-04-26 2 views
-1

У меня есть три вида, которые в настоящее время установлены на view.setVisibility(view.GONE), и у меня есть кнопка, которую я хочу изменить видимость на видимую по одному, так как пользователь продолжает нажимать кнопку кнопка. Я думаю, что мне нужно использовать цикл for, центрированный нажатием кнопки, но я не знаю, как это сделать. Любые идеи будут оценены.Изменение видимости просмотров по одному с помощью кнопки

ответ

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; 
     } 
    } 
0

Вы должны создать массив с вашими взглядами и переменным, чтобы знать, какое представление теперь видно:

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); 
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; 

} 
+0

что гуманный л действительно некрасиво ... использовать 'switch' вместо ... –

+0

да, но вы согласны, что в качестве решение, так что вы можете изменить это, а не downvoting – Kunu

+0

nope, я НЕ МОГУ ИЗМЕНЯТЬ ваш код, но я не забыл, потому что это уродливо, я сделал это, потому что вы не скрывали взгляды в любой момент, поэтому после 2 кликов вы будут видеть три взгляда ... –

Смежные вопросы