gpt4 book ai didi

android - java.lang.ClassCastException : com. here.android.mpa.mapping.MapView 无法转换为 com.here.android.mpa.mapping.AndroidXMapFragment

转载 作者:行者123 更新时间:2023-12-02 13:44:02 25 4
gpt4 key购买 nike

嗨,我在这里使用 SDK for android,但一直收到此错误
我的项目有一个抽屉导航,我正在尝试使用此处的 SDK 在其 fragment 之一中创建 map
这是我的 XML 和 Kotlin 代码以及错误
我的错误:
java.lang.ClassCastException: com.here.android.mpa.mapping.MapView cannot be cast to com.here.android.mpa.mapping.AndroidXMapFragment
at com.example.pplin_mobilite.ui.Passager.PassagerFragment.onActivityCreated(PassagerFragment.kt:22)
at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2717)
at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:346)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1188)
at androidx.fragment.app.FragmentManager.addAddedFragments(FragmentManager.java:2224)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1997)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1953)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1849)
at androidx.fragment.app.FragmentManager$4.run(FragmentManager.java:413)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6758)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:497)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:912)

我的 Kotlin 课:

class PassagerFragment : Fragment() {

override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)

// Search for the Map Fragment
val mapFragment = map_frag as AndroidXMapFragment
// initialize the Map Fragment and
// retrieve the map that is associated to the fragment
mapFragment.init { error ->
if (error == OnEngineInitListener.Error.NONE) {
// now the map is ready to be used
mapFragment.map
// ...
} else {
println("ERROR: Cannot initialize AndroidXMapFragment")
}
}
}

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_notifications,container,false)
}

}

和我的 xml:
 <fragment
class="com.here.android.mpa.mapping.AndroidXMapFragment"
android:id="@+id/map_frag"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"

/>

最佳答案

如果您使用 中的 fragment 这里的文档 ,就像您一样,并将其放在另一个 fragment 中,您应该使用:

val mapfragment = childFragmentManager.findFragmentById(R.id.mapfragment) as AndroidXMapFragment
然后你会找到 fragment 而不是 View (因为它不是 View ),因为如果你检查 mapfragment ,它已经扩展了 Fragment()

关于android - java.lang.ClassCastException : com. here.android.mpa.mapping.MapView 无法转换为 com.here.android.mpa.mapping.AndroidXMapFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60739325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com