2012-01-02 3 views
0

Activty에서 tabHost를 만들었고 .addTab (Spec)에 도달 할 때마다 충돌이 발생했습니다. 그래서 같은 활동의 탭 호스트 생성 :TabActivity가 아닌 활동에서 tabHost를 만드는 방법

peopleTabHost = new TabHost(this); 

을하고 난 탭을 추가하는 방법을 사용

private void CreateNewTab(String tagName, String displayedName, Class<?> intentClass) 
    { 
      Intent intent = new Intent().setClass(this, intentClass); 
      TabHost.TabSpec spec = peopleTabHost.newTabSpec(tagName).setIndicator(displayedName); 
      spec.setContent(intent); 
      peopleTabHost.addTab(spec);  
    } 
(내가 할 수있는 내가 onCreat의 최종 외부로 peopleTabHost을 정의 때문)

감사합니다.

답변

1

두 번째 sianis의 답변이지만 탭 호스트를 초기화하지 않았기 때문에 충돌이 발생할 수도 있습니다.

생성자를 호출 한 직후 peopleTabHost.setup();을 실행하십시오.

+0

감사합니다. TabActivity를 확장하고 작동합니다. 이제는 다른 문제가 있습니다. 탭을 포함하는 클래스는 탭 아래에 있어야하는 목록을 포함하며 각 탭은 화면 절반을 채 웁니다. 나는 그것들을 수직 선형 레이아웃에 추가함으로써 그것을했다. 그러나 그것은 충돌하고 디버거에 의해 탭 호스트의 addView에 도착할 때 발생한다. – Someonation

+0

더 많은 사람들이 당신을 도울 수있는 방법을 제공하려면 코드와 스택 추적으로 다른 스레드를 열어야합니다. – jcxavier

0

왜 TabActivity를 사용하지 않습니까? Activity를 확장하는 ActivityGroup을 확장 한 클래스입니다. 그래서 당신은 간단한 Activity처럼 TabActivity 클래스의 자식을 사용할 수 있지만 더 많은 기능을 가지고 있습니다.

관련 문제