不使用Android支持库时是否与NavUtils等效?
Android开发者Google Group()上也有人问过这个问题,但没有答案 我最近从Eclipse中的Android项目中删除了v4支持库,因为我的应用程序只针对Android 4.0(冰淇淋三明治)及更高版本。我现在正在浏览所有给我带来错误的支持库引用 特别是不使用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
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的方法是最好的
以下是应复制到项目中的类的列表:
或者您可以在onOptions ItemSelected()中对这种情况返回false。以下是我能找到的最简单的答案,以及我在代码中所做的: 只需替换:
NavUtils.navigateUpFromSameTask(this);
与:
希望这有帮助 还需要注意的是,post ICS(JB及以上版本)的所有
NavUtils
函数都被合并到活动
类中。如果你的目标是API 15及以上,听起来根本不需要NavUtils
。@davidcoden你的意思是如果你的目标是API 16及以上。15还需要NavUtils。@DoctororDrive是的,这是一个打字错误。谢谢你抓住它。
navigateUpTo(getParentActivityIntent());