2014-03-07 4 views
0

여러 컨트롤의 가시성을 동시에 전환하려면 모범 사례를 찾고 있습니다. 예 :Android : 코드를 통해 여러 컨트롤의 가시성을 전환

레이아웃에 5 개의 버튼이 있으며 4 개의 버튼의 가시성을 '사라짐'으로 토글하고 싶습니다. 가장 좋은 방법은 무엇일까요?

컨트롤을 찾고 있습니다. 즉,보기. FindViewById가이 작업을 수행하는 유일한 방법입니까? LinearLayout과 같은 다른 컨테이너에 배치하는 옵션은 또한 레이아웃 복잡성을 높이고 싶지 않기 때문에 적합하지 않습니다.

+1

버튼을 배열이나 관리자로 추가하여이 데이터 구조를 반복 또는 탐색하여 자식 컨트롤을 없앱니다. –

+0

루핑 개념과 같습니다. – Signcodeindie

답변

0

안드로이드 작업은 Winform 요일을 생각 나게합니다. 모든 컨트롤을 반복하고, 찾아서 조치를 취해야합니다. 여기에 원하는 결과를 얻기 위해 쓴 코드 스 니펫이 있습니다.

var myLayout = searchView.FindViewById<LinearLayout>(Resource.Id.myLayout); 
     for (int count = 0; count < myLayout.ChildCount; count++) 
     { 
      // Hide all controls in layout except details Imageview 
      if (myLayout.GetChildAt (count).Id != Resource.Id.IdOfControlThatIDontWantToHide) 
       gestureControlLayout.GetChildAt (count).Visibility = ViewStates.Invisible; 

     } 

이 코드는 Xamarin.Android로 작성되었습니다.

관련 문제