与API 15的ActionBar兼容性问题

时间:2012-12-04 16:19:20

标签: java android android-actionbar

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

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

<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:我不能使用外部库,我必须使用本机代码

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

使用ActionBarSherlock解决它