我遵循developers.android.com 上的基本教程,并创建了名为DisplayMessageActivity 的活动。这是一个空白活动,其中给出了教程中所示的所有规范。仅供参考,我使用 Min SDK = API 8,Target SDK = API 16,编译 = API 10
接下来是有两个错误:
- “对于 DisplayMessageActivity 类型,方法 getActionBar() 未定义
- “家无法解析或者不是一个字段”
我尝试将 API 更改为 14,这又带来了另一个问题,它希望最小 API 为 11。
这解决了这些问题,但主要问题是许多设备仍然使用 Gingerbread 或 FroYo。我不能为他们写信吗?我必须走得更高吗?如何为他们写作?
首先,您需要确保针对最新版本的 Android 进行编译。您应该更新您的 sdk 版本,因为您正在针对 API 10 进行编译,但目标是 16。如果您这样做,东西可能会损坏,因此最好保持更新以确保安全。
这意味着在 Eclipse 中右键单击您的项目,单击“属性”,然后单击“Android”。检查那里的最高版本 API。如果您有最新版本,则为 Android 4.2。然后在 AndroidManifest.xml 中设置android:targetSdkVersion
根据您的选择(我的案例 api 17)。
这应该确保您的应用程序基本上可以在 HoneyComb 到 JellyBean 上运行。然而,这个应用程序至少要在 froyo 上运行。下一部分将允许您的应用程序在所有设备上运行。
制作一个这样的方法:
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void setupActionBar() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// Show the Up button in the action bar.
getActionBar().setDisplayHomeAsUpEnabled(true);
}
}
它会检查它正在哪个 API 上运行,并且只有当它是 honeycomb 及以上时,才会启用操作栏。
调用它来自onCreate()
您需要取出位于的 getActionBarCallonCreate()
因为那里不再需要它了。
至于 home 没有被启用,它可能只是一个错误的项目目标或者你忘记写android.R.id.home
而是写了R.id.home
.
最后,完成所有这些更改后,您应该清理您的项目(项目 -> 清理)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)