TabActivity를 사용하는 응용 프로그램을 만들었습니다. 모든 것이 한 순간에 정상입니다 ...Android. TabActivity, tabHost에서 활동을 파괴하지 않고 탭 사이를 전환
tab이 전환 될 때마다 tabHost의 activityes는 파괴되고 다시 생성됩니다. 나는 모든 활동 상태를 기록하고 탭이 집중 될 때 onCreatr(), onStart(), onResume() 및 whent tab이 초점이 맞지 않는 것을 알아 냈습니다 onStop(), onDestroy()
어떻게하면 활동을 파괴하고 재창조하지 않고도 탭을 전환 할 수 있습니다. ??? 제 영어 :
Main.class가에 대한
죄송합니다
package my.pack;
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;
public class Main extends TabActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost tabHost = getTabHost();
TabHost.TabSpec spect;
Intent intent;
intent = new Intent().setClass(this, ListDevice.class);
spect = tabHost.newTabSpec("test").setIndicator("Device").setContent(intent);
tabHost.addTab(spect);
intent = new Intent().setClass(this, ListServer.class);
spect = tabHost.newTabSpec("test").setIndicator("Server").setContent(intent);
tabHost.addTab(spect);
tabHost.setCurrentTab(0);
}
}
ListServer.class는
package my.pack;
import java.io.File;
import java.util.ArrayList;
import android.app.ListActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ListView;
public class ListServer extends ListActivity {
private File file = new File(".");
private ArrayList<File> values = new ArrayList<File>();
private CopyOfMyPerformanceArrayAdapter adapter;
public void onCreate(Bundle icicle) {
Log.d("test","server");
super.onCreate(icicle);
for (File f: file.listFiles()) {
if (f.isDirectory()) values.add(f);
}
for (File f: file.listFiles()) {
if (f.isFile()) values.add(f);
}
View footer = getLayoutInflater().inflate(R.layout.footer, null);
getListView().addFooterView(footer);
adapter = new CopyOfMyPerformanceArrayAdapter(this,values);
setListAdapter(adapter);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
try{
File file = (File) getListAdapter().getItem(position);
if (file.isDirectory()) {
adapter.clear();
for (File f: file.listFiles()) {
values.add(f);
}
adapter.notifyDataSetChanged();
}} catch(Exception e) { Log.d("opa", "server");}
}
public void onRestart(){
Log.d("ftp","onRestart");
super.onRestart();
}
public void onStart(){
Log.d("ftp","onStart");
super.onStart();
}
public void onResume(){
Log.d("ftp","onResume");
super.onResume();
}
public void onPouse(){
Log.d("ftp","onpouse");
super.onPause();
}
public void onStop(){
Log.d("ftp","onStop");
super.onStop();
}
public void onDestroy(){
Log.d("ftp","onDestroy");
super.onDestroy();
}
}
ListDevice의 발사 모드 및 ListService? –
APIDemo 프로젝트에 TabHost 예제가 있습니다. 당신은 그것을 따를 수 있습니다. –