【问题标题】:"MapFragment cannot be resolved to a type" even though I am on API level 17“MapFragment 无法解析为类型”即使我处于 API 级别 17
【发布时间】:2013-01-18 20:10:08
【问题描述】:

我刚开始使用 MapFragments,我可以让地图显示在我的 Activity 中。我只是使用了一个简单的 XML 布局,它按预期工作:

现在,我需要在代码中获取 Fragment,以便开始与 Map 进行交互。这是我遇到问题的地方:

如您所见,MapFragment(或 getFragmentManager)无法解析为类型。我的目标是 Android 4,API 级别 17:

您还可以看到我正在引用 Googke Play 库。

这里是清单,只是为了清楚起见:

那么,最大的问题是:为什么我不能解析 MapFragment?我错过了什么?

附带说明:SupportMapFragment 似乎可以解决,但这不是我想要的。

【问题讨论】:

  • 您的构建目标应该类似于 Google APIS 4.2,而不仅仅是 Android 4.2。我会写一个更深入的答案,但抱歉必须在 2 分钟内离开。您可以从 SDK 管理器获取 Google APIs 4.2。如果以后没有回复,我可以提供更详细的回复。
  • @Mikedg:问题是关于地图 V2,而您的评论是关于地图 V1。
  • 当您为com.google.android.gms.maps.MapFragment 添加import 语句时,会发生什么?
  • 忽略我的顶级评论,马克是正确的。
  • @CommonsWare 这很奇怪。如果我手动添加“import com.google.android.gms.maps.MapFragment”,那么它会在代码中找到 MapFragment。一般情况下,Eclipse 会建议自己导入,所以没想过手动导入。

标签: android android-fragments android-mapview mapfragment


【解决方案1】:

要使用MapFragment,您需要附加到您的应用程序的Android 库项目(如您所拥有的)和com.google.android.gms.maps.MapFragmentimport 语句。根据您的 cmets,后半部分是问题。

一般情况下,Eclipse 会建议自己导入,所以没想过手动导入。

我有时也遇到过这个问题,其中 -- 坚决拒绝添加导入。我无法想出一个可重现的场景,而且这种情况很少发生,我只是耸耸肩,手动添加它,然后继续做其他事情。我也不确定问题出在 Eclipse 上还是与导入解析器的任何 ADT 扩展有关。

另外,我在 Android 开发中长期不用 Eclipse,手动输入import 语句,所以我有点习惯了。

顺便说一句,你在这里回答了很多关于 SO 的问题,你还有时间做其他事情吗? ;-)

我是个打字速度很快的打字员,在十几岁的时候用手动打字机打字。

(对于正在阅读本文的年轻人来说,“打字机”基本上是直接连接到打印机的键盘,而“手动打字机”是使用按键的机械动作将字母实际放在纸,因此不用电工作。另外,诚挚地邀请你离开我的草坪。)

【讨论】:

  • 哈哈,我没那么年轻。我非常了解打字机、AMIGA 500、Commodore 64、磁带、autoexec.bat、config.sys、“Lost Patrol”等 =)
【解决方案2】:

手动添加导入, 导入 com.google.android.gms.maps.MapFragment; 我也遇到了同样的问题,试了3天解决了,就这么简单

【讨论】:

    猜你喜欢
    • 2012-01-18
    • 2014-06-19
    • 1970-01-01
    • 2015-10-22
    • 2015-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多