728x90
출처 : http://stackoverflow.com/questions/2209406/issues-with-android-tabhost-example
안드로이드 웹사이트에서 제공되는 tutorial중 TabLayout 은 제대로 실행이 되지 않는다.
해당 source가 완전하지 않아서 인데 이를 해결하는 방법이 위 사이트에 나와있다.
1. main.xml에서
The third to last line under /res/layout/main has a typo (a ; instead of a :)
Eclipse에서 알려주듯이 에러가 나는 라인에 보면 세미콜론(;)으로 되어있다. 이를 콜론(:)으로 바꿔준다.
2. HelloTabLayout.java에서
spec = tabHost.newTabSpec("songs").setIndicator("Songs",
res.getDrawable(R.drawable.ic_tab_songs))
.setContent(intent);
3. 중간에 난데없이 나타나는 mTabHost 를 볼 수 있는데
이클립스에서 에러로 나타날 것이다.
이것 역시 제대로 오타다
그냥 tabHost로 바꿔주면 된다.
4. 해당 tutorial에서는 ic_tab_artists.xml 파일만 보여주는데
실제로는 같은내용으로
ic_tab_songs.xml 와 ic_tab_albums.xml 두 xml파일을 같은 위치에 생성 해 주어야 한다.
5. 마지막으로 AndroidManifest.xml 파일에
tab으로 사용할 activity들이 정의되어있지 않은데
현재 정의된 Activity아래에 Activity들을 추가해 주면된다.
해당 class이름 앞에 .을 붙여서 .AlbumsActivity ^^
이것이 제대로 실행이 안되면 애뮬레이터를 제거하고 새로 만들어서 test 해 볼 것.
안드로이드 웹사이트에서 제공되는 tutorial중 TabLayout 은 제대로 실행이 되지 않는다.
해당 source가 완전하지 않아서 인데 이를 해결하는 방법이 위 사이트에 나와있다.
1. main.xml에서
The third to last line under /res/layout/main has a typo (a ; instead of a :)
Eclipse에서 알려주듯이 에러가 나는 라인에 보면 세미콜론(;)으로 되어있다. 이를 콜론(:)으로 바꿔준다.
2. HelloTabLayout.java에서
tabHost.setCurrentTab(intent); 가 있는데
setCurrentTab은 int형을 인자로 원하는 tab을 선택하게 된다.
현재 3개의 tab이 있으므로 (0,1,2)중의 숫자를 넣어주면 된다.
tabHost.setCurrent(0);
또는 이름으로
tabHost.setCurrentTabByTag("albums"); 과 같이
위에 tabSpec에 선언한 이름 ("songs", "artists", "albums")중의 하나를
tab이름으로 넣으면 되다.
spec = tabHost.newTabSpec("songs").setIndicator("Songs",
res.getDrawable(R.drawable.ic_tab_songs))
.setContent(intent);
3. 중간에 난데없이 나타나는 mTabHost 를 볼 수 있는데
이클립스에서 에러로 나타날 것이다.
이것 역시 제대로 오타다
그냥 tabHost로 바꿔주면 된다.
4. 해당 tutorial에서는 ic_tab_artists.xml 파일만 보여주는데
실제로는 같은내용으로
ic_tab_songs.xml 와 ic_tab_albums.xml 두 xml파일을 같은 위치에 생성 해 주어야 한다.
5. 마지막으로 AndroidManifest.xml 파일에
tab으로 사용할 activity들이 정의되어있지 않은데
현재 정의된 Activity아래에 Activity들을 추가해 주면된다.
해당 class이름 앞에 .을 붙여서 .AlbumsActivity ^^
<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>
=======================================================================
이것이 제대로 실행이 안되면 애뮬레이터를 제거하고 새로 만들어서 test 해 볼 것.
728x90