문제

나는 '고급'을 구현하려고 시도했다 Tabwidget Google의 예. 그러나 전화를 시도 할 때 tabHost.addTab(spec); 디버거에서 스택 추적을 얻습니다. 죄송합니다. 여기에 스택 추적이 없지만 다른 사람들이 동일한 문제를 겪었는지 궁금합니다 (이 코드에는 오타의 많은 정보가 있고 누락 된 정보가 누락되어 컴파일을 막을 수 없었습니다.

누구 든지이 코드의 수정/실행 버전을 지적 할 수 있습니까?

필요한 업데이트 정보는 다음과 같습니다.

<activity android:name=".ArtistsActivity"></activity>
<activity android:name=".AlbumsActivity"></activity>
<activity android:name=".SongsActivity"></activity>
도움이 되었습니까?

해결책

전류 Tabhost 예제 안드로이드 개발자 사이트에는 하나의 오류가 포함되어 있으며 예제가 실행되지 않도록하는 중요한 단계를 제외합니다.

먼저 : hellotabwidget 클래스에 추가되는 oncreate () 메소드에서 mtabhost라는 tabhost 객체를 사용하려고 시도합니다. 이것은 유효하지 않습니다. Tabhost 여야합니다.

둘째 : 튜토리얼은 각 활동을 Androidmanifest.xml에 추가 해야하는 세부 사항을 설명합니다. 이 없이는 코드가 작동하지 않으며 실행을 시도 할 때마다 "포스 클로즈"를 얻게됩니다.

다른 팁

나는 마지막 시간 동안 그 튜토리얼을 살펴 보았습니다. 다음은 내가 다루는 문제와 수정 사항입니다.

2 단계: 활동을 만들 때, 당신이 매니페스트를 통해 그것들을 만들지 않으면 그것을 수동으로 매니페스트에 추가해야합니다.

이 라인을 AndroidManifest.xml에 추가하십시오 :

  <activity android:name=".AlbumsActivity"
                  android:label="@string/app_name"
                  android:theme="@android:style/Theme.NoTitleBar">
        </activity>
  <activity android:name=".ArtistsActivity"
                  android:label="@string/app_name"
                  android:theme="@android:style/Theme.NoTitleBar">
        </activity>
          <activity android:name=".SongsActivity"
                  android:label="@string/app_name"
                  android:theme="@android:style/Theme.NoTitleBar">
        </activity>

3 단계 : : IC_TAB_ARTISTS.XML 파일 만 만들도록 지시받습니다. IC_TAB_SONGS.XML 및 IC_TAB_ALBUMS.XML 용을 만들어야합니다. ic_tab_artists.xml을 복제 할 수 있습니다 (또는 Hellotabview.java 탭 사양을 변경하여 각 탭의 Artists.xml 파일을 사용하십시오).

Step 4: /res/layout/main 아래에 세 번째 대 마지막 라인에는 오타가 있습니다 (a; 대신 :)

      android:padding="5dp" />
    </LinearLayout>
</TabHost>

6 단계 : Tabhost 대신 Mtabhost를 사용하는 오타가 있습니다. 변경하십시오.

이미 인용 한 바와 같이 마지막 줄의 getintent () 함수는 적절하지 않습니다. ID를 기반으로 탭을 호출합니다. 예 :

tabHost.setCurrentTabByTag("albums");

또한

android:theme="@android:style/Theme.NoTitleBar"

내가 대체하면 나를 위해 작동하지 않습니다.

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

잘 작동합니다.

TED가 수정 한 예제는 세 가지 활동이 모두 라인을 포함하지 않으면 작동합니다.

android:theme="@android:style/Theme.NoTitleBar"

이것은 탭 레이블 외에 제목 표시 줄을 원하는 경우 유용합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top