想捣腾一下Android开发,结果第一个问题就纠缠了好久。
关于TabHost的大多数例子里都是把所有的Tab页设置到了同一个Activity,而实际制作中我们希望为每个Tab页使用一个不同的xml布局,正好Android Tutorials中有一个Tab Layout的例子,可是Google的人漏掉了很重要的一个步骤。
例子在android-sdk目录下 docs/resources/tutorials/views/hello-tabwidget.html
按照Tutorial做完后,始终无法正确运行,尝试着不断修改,当把TabContent指定为xml中配置的view时就不会有问题,但我希望每个Tab页是一个单独的单元,有自己的xml布局,有自己的Activity类实现。终于,在继续求助于Google之后找到了问题所在:需要为每个自己定义的Activity到AndroidManifest.xml中声明一下,具体就是这样:
<activity android:name=".ArtistsActivity"></activity>
<activity android:name=".AlbumsActivity"></activity>
<activity android:name=".SongsActivity"></activity>
上面的name是自己声明的Android类名,做相应的修改即可。
这里有一个详细的说明:
http://stackoverflow.com/questions/2209406/issues-with-android-tabhost-example
Google Code上也有人贴出了这个issue,并且有解决方法:
http://code.google.com/p/android/issues/detail?id=4183
也许你也遇到了这个同样的问题,希望能少走点弯路 :)