android - Android TabHost 示例的问题

标签 android android-tabhost

我一直在尝试实现“高级”tabwidget来自谷歌的例子。但是,当它尝试调用 tabHost.addTab(spec); 时,我从调试器中获得了堆栈跟踪。抱歉,我这里没有堆栈跟踪,但我想知道其他人是否遇到过同样的问题(因为这段代码有很多拼写错误和缺失的信息,这让我无法编译。

任何人都可以指出此代码的更正/运行版本吗?

需要更新的信息是:

<activity android:name=".ArtistsActivity"></activity>
<activity android:name=".AlbumsActivity"></activity>
<activity android:name=".SongsActivity"></activity>

最佳答案

我花了大约一个小时完成了该教程。以下是我处理的问题和解决方法:

第 2 步:在创建 Activity 时,如果您没有通过 list 创建它们,则需要手动将它们添加到 list 中。

将这些行添加到 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 文件)。

第 4 步:/res/layout/main 下的倒数第三行有错字(a ; 而不是 :)

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

第 6 步:有一个拼写错误使用调用 mTab​​Host 而不是 tabHost。改变它。

如前所述,最后一行的 getIntent() 函数是不合适的。我只是根据它的 ID 调用选项卡。例如:

tabHost.setCurrentTabByTag("albums");

关于android - Android TabHost 示例的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2209406/

相关文章:

java - 在 Recycler Adapter 中获取 Activity onDestroy()

Android webview 下拉菜单不适用于 Android 4.x 设备

android - 在通知被按下时创建一个 Action ,Android

android - 如何让我的 SQLite 数据库井井有条?安卓

android - 为 Android 库项目启用数据绑定(bind)后立即生成错误

android - 在 Android 中动态修改选项卡指示器

java - Android FragmentTabHost - 尚未完全出炉?

java - FileNotFoundException 但文件确实存在

android - 在 Android 中启动一个 AnimationDrawable

android - FragmentTabHost - 选项卡在第一次查看之前不可寻址