2012-07-25 3 views
0

내 기본 레이아웃 (mainlayout)에서 사용자의 동작에 따라 동적으로 설정된 일부 텍스트와 이미지를 표시하고 있습니다. 특정 버튼을 클릭하면 다른 레이아웃 (secondlayout)의 내용을 표시해야합니다. 다시 한번 사용하여 내가 메인 레이아웃에 반환하는 데 사용하는 또 다른 버튼이 두 번째 레이아웃에레이아웃 간 전환 및 내용 표시

setContentView(R.layout.secondlayout); 

: :이 사용 할

setContentView(R.layout.mainlayout); 

문제는 다시 모든 mainlayout 표시에 내가 보여주고 있던 텍스트와 이미지는 이제 사라졌습니다.

mainlayout으로 돌아가서 표시하고 있던 내용을 계속 표시하려면 어떻게해야합니까?

답변

0

그렇게하지 마십시오. setContentView()onCreate() 메소드에서 한 번 호출됩니다. 그러나, 합리적인 방법 부부는/보여줄 필요에 따라 각 조각을 숨기고, 조각에

  1. 캡슐화에게, 각 레이아웃을 그것을 할 수 있습니다.
  2. 두 레이아웃을 단일 레이아웃으로 묶고 레이아웃의 가장 바깥 쪽 컨테이너에서 setVisibility()을 호출하여 레이아웃의 각 섹션을 표시하거나 숨 깁니다.
+0

조각에 대한 몇 가지 예를 가르쳐 주시겠습니까? 또한 레이아웃 정보를 별도로 유지하려고 할 때 setVisibility() 메서드를 사용하지 않으므로 그래픽 표현을 사용하여 물건을 이동시킬 수 있습니다. 내가 둘을 합치면 너무 혼란 스러울 것이다. – automationguy

+0

두 레이아웃을 단일 레이아웃으로 묶은 다음 setVisibility를 수행하여 제안한 작업을 성공적으로 수행했습니다. 그러나 어지러운 xml 그래픽보기에 대한 내 질문은 여전히 ​​의미합니다. 나는 이것에 대한 새로운 질문을 게시 할 것이다. – automationguy

+0

include 태그를 확인하십시오. 레이아웃 구성 요소를 재사용 가능한 부분으로 쉽게 분해 할 수 있습니다. 이 조각들과 논리를 묶어야한다면 조각을 조사해야합니다. –