【问题标题】:Creating a Huawei Map programmatically以编程方式创建华为地图
【发布时间】:2021-02-16 08:03:37
【问题描述】:

我正在以编程方式创建 Huawei 地图,但尽管 MapFragment() 是 Fragment 类的子类,但事务添加并未将其识别为 Fragment。这是我的代码:

val transaction: FragmentTransaction = activity.supportFragmentManager.beginTransaction()
val mapFragment = MapFragment()
transaction.add(this.frame.id, mapFragment) ---> here is the problem
transaction.commit()

有人知道原因吗?

【问题讨论】:

  • 请把MapFragment的所有内容贴出来

标签: android kotlin maps huawei-mobile-services huawei-map-kit


【解决方案1】:

在片段中显示地图有 2 个不同的类:

  1. 地图片段
  2. SupportMapFragment

您必须使用正确的活动。

  1. 如果 Activity 只是 Activity 而您只使用 FragmentManager - 使用 MapFragment
  2. 如果活动是 AppCompatActivity 并且您使用 SupportFragmentManager - 使用 SupportMapFragment

【讨论】:

  • 现在我还有一个问题,我创建了一个 CustomSupportFragmentManager(SupportFragmentManager 的子级)来拦截 onTouch 事件,带有一个 TouchableWrapper(FrameLayout 的子级),但从来没有在华为获得 onTouchEvent,对于谷歌来说是的。你知道为什么吗?
  • 也许你需要在 TouchableWrapper 中重写dispatchTouchEvent 并手动将 MotionEvent 传递给 mapView 的 dispatchTouchEvent?
  • 请在这里检查我的问题,我发布了我的一些代码stackoverflow.com/questions/66229963/…
猜你喜欢
  • 2013-10-04
  • 1970-01-01
  • 2013-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-21
  • 2016-11-03
相关资源
最近更新 更多