【问题标题】:get SupportMapFragment in other class [duplicate]在其他类中获取 SupportMapFragment [重复]
【发布时间】:2015-04-24 12:12:00
【问题描述】:

是否可以从其他类的 googlemap(SupportMapFragment) 获取访问权限?

我测试了几种方法并得到以下错误:

map = ((SupportMapFragment)  getSupportFragmentManager().findFragmentById(R.id.map)).getMap();

返回:

java.lang.NullPointerException


map = ((SupportMapFragment)  ((FragmentActivity)context).getSupportFragmentManager().findFragmentById(R.id.map)).getMap();

返回:

android.app.Application 无法转换为 android.support.v4.app.FragmentActivity

注意:我无法将类更改为扩展片段

【问题讨论】:

  • other class ? 表示
  • @hamedata 你说另一个类是什么意思?你的意思是从一个活动?片段?
  • 使用这个 ((SupportMapFragment) getActivity() .getSupportFragmentManager() .findFragmentById(R.id.map_view)).getMap();
  • 对不起,我的意思是在课堂上跑步(不是活动)。当我尝试在活动中获得“SupportMapFragment”时它很好。但是当我尝试在课堂上做同样的事情时,我遇到了上述错误!
  • @Sree Reddy Menon 与您的建议代码我得到“方法 getActivity() 未定义...”

标签: android google-maps android-support-library supportmapfragment mapfragment


【解决方案1】:

如果你想从一个 Activity 中调用它,你必须从支持库中扩展 FragmentActivity。否则,如果您的目标是 API 级别 11 及更高级别,则静态方法 getFragmentManager 可以完成这项工作(Activity.getFragmentManager)

【讨论】:

  • 我的类扩展了 fragmentactivity(公共类 gLocation 扩展了 FragmentActivity),但我无法使用 map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
猜你喜欢
  • 2015-04-25
  • 2013-05-06
  • 1970-01-01
  • 2019-01-30
  • 2015-10-22
  • 1970-01-01
  • 2021-08-14
  • 2023-03-28
  • 2020-08-17
相关资源
最近更新 更多