java.lang.NoSuchMethodError:没有虚拟方法 getParentFragmentManager()
Posted
技术标签:
【中文标题】java.lang.NoSuchMethodError:没有虚拟方法 getParentFragmentManager()【英文标题】:java.lang.NoSuchMethodError: No virtual method getParentFragmentManager() 【发布时间】:2020-10-28 15:34:23 【问题描述】:override fun onCreate(savedInstanceState: Bundle?)
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val navView: BottomNavigationView = findViewById(R.id.nav_view)
val navController = findNavController(R.id.nav_host_fragment)
val appBarConfiguration = AppBarConfiguration(setOf(
R.id.navigation_home, R.id.navigation_dashboard,
R.id.navigation_notifications))
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
<fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_
android:layout_
android:visibility="gone"
app:defaultNavHost="true"
app:layout_constraintBottom_toTopOf="@id/nav_view"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/mobile_navigation" />
java.lang.NoSuchMethodError: 没有虚拟方法 getParentFragmentManager()Landroidx/fragment/app/FragmentManager;在 类 Landroidx/navigation/fragment/NavHostFragment;或其超级 类('androidx.navigation.fragment.NavHostFragment'的声明 出现在 /data/app/~~MGLc4E8e1G_cs0ZWkl7w2Q==/com.trend.topcar-cfc6kzaHX2ROCl0ZEzapbw==/base.apk) 在 androidx.navigation.fragment.NavHostFragment.onAttach(NavHostFragment.java:197) 在 androidx.fragment.app.Fragment.performAttach(Fragment.java:2574) 在 androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:828) 在 androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1133) 在 androidx.fragment.app.FragmentManagerImpl.addFragment(FragmentManagerImpl.java:1393) 在 androidx.fragment.app.FragmentManagerImpl.onCreateView(FragmentManagerImpl.java:3205) 在 androidx.fragment.app.FragmentController.onCreateView(FragmentController.java:134) 在 androidx.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:357) 在 androidx.fragment.app.FragmentActivity.onCreateView(FragmentActivity.java:336) 在 android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1067) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:995) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:959) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:1121) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:680) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:532) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:479) 在 androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555) 在 androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161) 在 com.trend.topcar.MainActivity.onCreate(MainActivity.kt:16) 在 android.app.Activity.performCreate(Activity.java:7984) 在 android.app.Activity.performCreate(Activity.java:7973) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3329) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3500) 在 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2049) 在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.Looper.loop(Looper.java:223) 在 android.app.ActivityThread.main(ActivityThread.java:7523) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)
【问题讨论】:
能否提供您正在使用的库版本? 【参考方案1】:我认为您应该寻求支持片段管理器。 getParentFragmentManager() 它应该可以工作。
【讨论】:
以上是关于java.lang.NoSuchMethodError:没有虚拟方法 getParentFragmentManager()的主要内容,如果未能解决你的问题,请参考以下文章