【问题标题】:ActionBar Compatibility issue with API 15API 15 的 ActionBar 兼容性问题
【发布时间】:2012-12-04 16:19:19
【问题描述】:

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

【问题讨论】:

  • 该示例已弃用。使用 ActionbarSherlock。
  • 感谢@rciovati,ActionbarSherlock 效果很好

标签: java android android-actionbar


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    使用 ActionBarSherlock 解决了这个问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-20
      • 2019-01-30
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 2010-11-13
      相关资源
      最近更新 更多