首先,您需要确保您正在针对最新版本的 Android 进行编译。您应该更新您的 sdk 版本,因为您正在为 API 10 但目标为 16 进行编译。如果您这样做,东西可能会损坏,因此最好保持更新以确保安全。这意味着在 Eclipse 中右键单击您的项目,单击属性,然后单击 Android。检查那里的最高版本 API。如果您有最新版本,则为 Android 4.2。然后在您的 AndroidManifest.xml 中,将 设置android:targetSdkVersion
为您选择的内容(我的案例 api 17)。
这应该确保您的应用程序基本上可以在 HoneyComb to 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,只有当它是蜂窝或更高版本时,才会启用操作栏。从您那里调用它onCreate()
您将需要取出其中的 getActionBarCall,onCreate()
因为那里不再需要它。
至于 home 没有被启用,它可能只是一个错误的项目目标,或者你忘记写了android.R.id.home
,而是写了R.id.home
.
最后,通过所有这些更改,您应该清理您的项目(项目 -> 清理)。