2012-02-21 5 views
1

Android 활동의 레이아웃을 지우는 간단한 방법이 있습니까? 현재 여러 액티비티에 걸쳐있는 앱을 개발 중이고 프로젝트의 최종 활동에 사용될 다양한 액티비티의 변수를 추적해야합니다. 하나의 단일 활동에서 모든 것을 생성하고, 작업을 실행하고, 변수를 저장하고, 활동 화면을 지우고 다른 레이아웃을로드 할 수 있는지 궁금합니다. 여러 활동에서 여러 변수를 추적하는 것보다 훨씬 간단합니다.Android 활동 지우기

답변

3

언제든지 콘텐츠보기를 설정할 수 있습니다. 당신의 활동이 성장하고 성장하고 기본적으로 별도의 활동에 배치 될 것입니다 무슨과의 상호 작용을 반영하기 위해 성장함에 따라

setContentView(R.layout.main); 

//now do some stuff 

//then 

    setContentView(R.layout.someOtherLayout); 

그러나이 신속하게 (I 해봤 날 믿어) 다루기 힘든 될 것입니다. 더 나은 접근법은 응용 프로그램을 확장하고 그 안에 모든 영구 변수를 저장하는 것입니다. 모든 액티비티는 언제든지 상위 애플리케이션을 볼 수 있으며 액티비티가 표시되는 동안 지속되는 변수에 포함될 수 있습니다. 긴 절전 사이클을 통해 변수를 유지해야하는 경우 SharedPreferences에 저장하는 것이 좋지만 프리젠 테이션 구성 방법에 관계없이 적용됩니다.

+0

감사합니다. 도움이됩니다. – user1174834

1

레이아웃을 변경하려면 onCreate에서와 같이 매개 변수로 새 레이아웃을 제외하고 setContentView(R.layout.layout_name);을 호출하면됩니다.

다른보기 일 경우 ViewFlipper을 사용하고 여러보기간에 전환 할 수 있습니다. ViewFlipper가 모든 뷰를 한 번에로드하기 때문에 뷰가 한 번에 3 개가 넘는 뷰를 수행하지는 않지만 매우 비쌀 수 있습니다.

오버 헤드에 이르기까지 모든 것에 대한 단점이 있으므로이 둘 사이의 균형을 찾고 여러 활동을 사용하려고합니다. 여러 액티비티를 사용하는 것을 두려워하지 않고 적절한 경우 위의 내용을 사용하여 단순화하는 것도 좋습니다.

0

"include"라는 태그로 모든 레이아웃을로드하고 이 다른보기/레이아웃으로 전환 할 때 다른 레이아웃을 숨기고보기/레이아웃을 표시 한 다음 현재 레이아웃을 표시 할 수 있습니다. 물론 성능이 좋지 않습니다.