2011-03-31 12 views
1

TabActivity의 문제점 내 앱에 3 개의 탭이 있으며 각각마다 다른 활동이 있습니다. 첫 번째 탭에서 나는 사용자 검색을 통해 텍스트 필드와리스트 뷰가 있습니다 하지만 검색 후 사용자가 탭을 변경하고 다시 으로 돌아 왔을 때 목록과 텍스트 상자가 지워집니다.TabActivity destroy 탭 변경시 각 탭의 활동

하지만 아직 채워지 길 원합니다. 활동과 관련하여 어떤 탭 표시 줄이 파괴됩니까? 중지? 중지? 잘 모르겠 음 이 작업을 수행 할 수있는 방법이 있습니까 고마워요. 정상 TabBar의 필요에 따라

public class MainTab extends TabActivity { 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.tab); 
     TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);    

     TabSpec firstTabSpec = tabHost.newTabSpec("tid1"); 
     TabSpec secondTabSpec = tabHost.newTabSpec("tid1"); 
     TabSpec thirdTabSpec = tabHost.newTabSpec("tid1"); 

     /* TabSpec setIndicator() is used to set name for the tab. */ 
     /* TabSpec setContent() is used to set content for a particular tab. */ 
     firstTabSpec.setIndicator("",getResources().getDrawable(R.drawable.search)).setContent(new Intent(this,Search.class)); 
     secondTabSpec.setIndicator("",getResources().getDrawable(R.drawable.manager)).setContent(new Intent(this,Manager.class)); 
     thirdTabSpec.setIndicator("",getResources().getDrawable(R.drawable.settings)).setContent(new Intent(this,Settings.class)); 

     tabHost.addTab(firstTabSpec); 
     tabHost.addTab(secondTabSpec); 
     tabHost.addTab(thirdTabSpec); 
………………… 

코드는 우리가 내가 활동

+0

(HTTP : // 개발할 r.android.com/reference/android/app/Activity.html#ActivityLifecycle) 및 [영구 상태 저장] (http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState) – rajath

+0

TabActivity에서 탭이 변경되면 이전 활동이 일시 중지됩니다. 즉 onPause() 메서드가 호출됩니다. 코드를 보여주십시오. – Vivek

+0

사용자가 edittext에 텍스트를 입력 한 다음 버튼 검색을 클릭하면 Edittextbox 및 Listview가 표시됩니다. 사용자가 다른 탭을 클릭하여 돌아 왔을 때 edittext와 listview가 모두 지워진 경우 목록이 채워집니다. 왜 그들은 거기에 저장하지? ????????? – user632576

답변

5

을 데이터를 많이 가지고 모든 클래스의 인스턴스를 수동으로 저장하여 다음 코드를 교체하는 경우가 어려울 것입니다 .... 동일 이들과

TabSpec firstTabSpec = tabHost.newTabSpec("tid1"); 
TabSpec secondTabSpec = tabHost.newTabSpec("tid1"); 
TabSpec thirdTabSpec = tabHost.newTabSpec("tid1"); 

,

[활동 라이프 사이클] 읽기 최대
TabSpec firstTabSpec = tabHost.newTabSpec("tid1"); 
TabSpec secondTabSpec = tabHost.newTabSpec("tid2"); 
TabSpec thirdTabSpec = tabHost.newTabSpec("tid3"); 
+1

나의 동료와 나는 그 차이를보기 위해 잠시가 필요했다. 다른 사람의 이익을 위해 : 처음에는 3 가지 스펙 모두 "tid1" – kaay

관련 문제