5

我在适用于 Android 的 API 级别 15 上遇到 actionBar 兼容性问题。向上按钮不适用于此 API 级别

我使用 android-sdk 文件夹中提供的名为“actionbarcompat”的示例项目,因此我已经导入了所有类,并使用 ActionBarActivity 扩展了我的所有活动。我还在清单中为我的所有活动添加了这段代码:

<activity
    android:name="fr.appsolute.rescue.MyActivity"
    android:label="@string/title_activity_info"
    android:parentActivityName=".MainActivity"
    android:screenOrientation="portrait" >
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".MainActivity" />
</activity>

在我的 ActionBarActivity 中:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    switch(item.getItemId()){
    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    }
    return super.onOptionsItemSelected(item);
}

这允许用户触摸向上按钮(带有应用程序图标)以返回到 MainActivity

此代码适用于 Android 2.3.3 和 4.2,但不适用于 4.0.1,我不明白为什么。当用户触摸向上按钮时,没有任何反应。

谢谢你的帮助。

PS:我不能使用外部库,我必须使用本机代码

4

2 回答 2

0

不知道为什么它不起作用。我同意奇怪的是它只在 API 15 上失败。

调用的替代方法NavUtils.navigateUpFromSameTask(this)可能是调用finish()。这将关闭您当前的活动并转到堆栈中的上一个活动。它可能会给你同样想要的结果。

于 2012-12-04T16:31:40.027 回答
0

使用 ActionBarSherlock 解决了它

于 2016-09-28T13:37:31.993 回答