안드로이드 개발 질문/답변
(글 수 45,052)
public class TabActivity extends android.app.TabActivity{
public TabHost tabHost;
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tab);
this.tabHost = getTabHost();
TabHost.TabSpec spec; Intent intent; intent = new Intent().setClass(this, FirstGroup.class);
spec = tabHost.newTabSpec("FirstGroup").setIndicator("타이머") //,getResources().getDrawable(R.drawable.artists_pressed)) .setContent(intent); tabHost.addTab(spec); intent = new Intent().setClass(this, CTimer.class);
spec = tabHost.newTabSpec("CTimer").setIndicator("타이머시간") //,getResources().getDrawable(R.drawable.artists_pressed)) .setContent(intent); tabHost.addTab(spec); intent = new Intent().setClass(this, ThirdGroup.class);
spec = tabHost.newTabSpec("ThirdGroup").setIndicator("수신번호") //,getResources().getDrawable(R.drawable.artists_pressed)) .setContent(intent); tabHost.addTab(spec); intent = new Intent().setClass(this, CPassword.class); spec = tabHost.newTabSpec("CPassword").setIndicator("비밀번호") //.getResources().getDrawable(null)) .setContent(intent); tabHost.addTab(spec); intent = new Intent().setClass(this, Advice.class); spec = tabHost.newTabSpec("Advice").setIndicator("도움말") //.getResources().getDrawable(null)) .setContent(intent); tabHost.addTab(spec); tabHost.setCurrentTab(0); } }
public class FirstGroup extends ActivityGroup{ public static FirstGroup group1; private ArrayList<View> history1;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.history1 = new ArrayList<View>(); group1 = this; View view = getLocalActivityManager().startActivity("Timer", new Intent(this, Timer.class) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView(); replaceView(view); }
public void replaceView(View v) { history1.add(v); setContentView(v); }
public void back() { if(history1.size() > 0) { history1.remove(history1.size()-1); setContentView(history1.get(history1.size()-1)); }else { finish(); } }
public void onBackPressed() { FirstGroup.group1.back(); return; }
}
TabActivity로 레이아웃을 구성했는데요. 다른건 다 탭으로 잘 되는데
spec = tabHost.newTabSpec("FirstGroup").setIndicator("타이머")
//,getResources().getDrawable(R.drawable.artists_pressed))
.setContent(intent);
tabHost.addTab(spec);
FirstGroup만 안되더라구요. 디버깅해보니 tabHost.addTab(spec);여기서 멈춥니다.
그룹을 설정해서 하는거는 ThirdGroup과 FirstGroup 똑같이 코딩했습니다. 각각 레이아웃만 다르게 해서요...
ThirdGroup은 되는데 FirstGroup 만 안되는 이유는 FirstGroup내에 있는 액티비티들의 문제인거 맞나요?
FirstGroup 은 처음에 Timer액티비티로 시작해서 총 다섯개의 액티비티가 속해있는데, 매니페스트에 정의 다 해줫구...했는데 왜 안될까요..
혹시 TabActivity를 이와같이 만들떄 주의 사항같은거 있나요?