여러곳의 사이트의 도움을 받아 아래와 같이 탭을 구현했는데...
AAAA.java라는 파일을 탭에서 실행 하려면 에러가 발생 합니다. (Manifest에 action추가 했음)
public class main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost tabHost = (TabHost)findViewById(R.id.tabhost);
tabHost.setup();
TabHost.TabSpec spec;
Intent rmcIntent = new Intent(main.this, Remocon.class);
startActivity(rmcIntent);
spec = tabHost.newTabSpec("Tab00");
spec.setIndicator("AAAA",getResources().getDrawable(R.drawable.icon));
spec.setContent(R.id.remoconid);
spec.setContent(new Intent(this, AAAA.class)); <---여기서 에러 발생 ㅠ.ㅠ
tabHost.addTab(spec);
더 이상한건....
public class main2 extends TabActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// tabhost구하기.
final TabHost tabHost = getTabHost();
tabHost.addTab(tabHost.newTabSpec("Tab1").setIndicator("tab1")
.setContent(new Intent(this, AAAA.class))); <--- 여기서는 에러가 발생 안한다는겁니다
음...
R.id.tabHost로 가져온 객체랑
TabActivity를 상속받아서 getTabHost();로 가져온 객체랑 차이가 있는걸까요??
안드로이드 고수님들의 답변을 기다려 봅니다.
그런데 혹시
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"/>
이와 같은걸을 자바에서 해보려구
final TabHost tabHost = getTabHost();
tabHost.getTabWidget().setGravity(Gravity.BOTTOM);
했는데... 소스상 에러는 없는데... Tab들이 하단으로 내려 가질 않더군요~~~! 혹시 이 이유도 아시는지요?
목적은 TAB들을 화면 하단으로 내리는 겁니다만.... XML쓸때는 되던데...자바에서는 ㅠ.ㅠ




tabHost.setup(); 대신
tabHost.setup(getLocalActivityManager()); 를 써야 할겁니다.
Intent를 통해서Tab을 쓰려면 LocalActivityManager가 필요한데 그게 없으니 에러나는겁니다.