8

Android Developers Google Group(链接)上的某个人也提出了这个问题,但没有答案......

我最近在 Eclipse 中从我的 Android 项目中删除了 v4 支持库,因为我的应用程序仅针对 Android 4.0(Ice Cream Sandwich)及更高版本。我现在正在浏览所有给我错误的支持库引用。

特别是NavUtils,它似乎是 Activity 导航中使用的支持库类。例子:

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    }
    return super.onOptionsItemSelected(item);
}

NavUtils不使用支持库时的等价物是什么?

4

4 回答 4

4

查看 的源代码NavUtils,如有必要,只需将其复制到您的项目中即可。它只是获取清单中设置的父活动并启动它。

于 2012-12-18T06:20:29.043 回答
1

如果您不想在项目中拥有整个 android v4 支持库,我发现 @Nikolay 的方法是最好的。

这是您应该复制到项目中的类列表:

于 2013-07-08T12:46:38.637 回答
0

Jelly Beans 的 Android 版本已将 NavUtils 合并到 Activity 类中。

不需要处理这种情况:onOptionsItemSelected()中的android.R.id.home。或者,您可以在 onOptionsItemSelected() 中为这种情况返回 false 。

于 2015-04-16T09:08:59.553 回答
0

这是我能找到的最简单的答案,以及我在代码中所做的事情:

只需更换:

NavUtils.navigateUpFromSameTask(this);

和:

navigateUpTo(getParentActivityIntent());

希望这可以帮助!

于 2015-10-22T00:23:19.350 回答