不使用Android支持库时是否与NavUtils等效?

不使用Android支持库时是否与NavUtils等效?,android,navigation,android-4.0-ice-cream-sandwich,android-version,android-support-library,Android,Navigation,Android 4.0 Ice Cream Sandwich,Android Version,Android Support Library,Android开发者Google Group()上也有人问过这个问题,但没有答案 我最近从Eclipse中的Android项目中删除了v4支持库,因为我的应用程序只针对Android 4.0(冰淇淋三明治)及更高版本。我现在正在浏览所有给我带来错误的支持库引用 特别是NavUtils,它似乎是活动导航中使用的支持库类。例如: @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getIt

Android开发者Google Group()上也有人问过这个问题,但没有答案

我最近从Eclipse中的Android项目中删除了v4支持库,因为我的应用程序只针对Android 4.0(冰淇淋三明治)及更高版本。我现在正在浏览所有给我带来错误的支持库引用

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

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

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

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

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

以下是应复制到项目中的类的列表:


来自Jelly Beans的Android版本将NavUtils合并到Activity类中

无需在onoptionItemSelected()中处理案例:android.R.id.home
或者您可以在onOptions ItemSelected()中对这种情况返回false。

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

只需替换:

NavUtils.navigateUpFromSameTask(this);
与:


希望这有帮助

还需要注意的是,post ICS(JB及以上版本)的所有
NavUtils
函数都被合并到
活动
类中。如果你的目标是API 15及以上,听起来根本不需要
NavUtils
。@davidcoden你的意思是如果你的目标是API 16及以上。15还需要NavUtils。@DoctororDrive是的,这是一个打字错误。谢谢你抓住它。
navigateUpTo(getParentActivityIntent());