0

Good afternoon, I have the following problem. I have been looking for a solution to the problem for a long time and I will continue to search. The application crashes when changing the theme with this error:

Exception java.lang.RuntimeException:
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:4060)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:4247)
  at android.app.ActivityThread.handleRelaunchActivityInner (ActivityThread.java:6253)
  at android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:6144)
  at android.app.servertransaction.ActivityRelaunchItem.execute (ActivityRelaunchItem.java:69)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:149)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:103)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2613)
  at android.os.Handler.dispatchMessage (Handler.java:110)
  at android.os.Looper.loop (Looper.java:219)
  at android.app.ActivityThread.main (ActivityThread.java:8668)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:513)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1109)
Caused by java.lang.IllegalStateException: onAttach called multiple times with different Context! Hilt Fragments should not be retained.
  at dagger.hilt.internal.Preconditions.checkState (Preconditions.java)
  at ru.likecentre.lms.ui.nav_bar.home.Hilt_HomeFragment.onAttach (Hilt_HomeFragment.java:2)
  at androidx.fragment.app.Fragment.onAttach (Fragment.java:2)
  at ru.likecentre.lms.ui.nav_bar.home.Hilt_HomeFragment.onAttach (Hilt_HomeFragment.java)
  at androidx.fragment.app.Fragment.performAttach (Fragment.java:7)
  at androidx.fragment.app.FragmentStateManager.attach (FragmentStateManager.java:7)
  at androidx.fragment.app.FragmentStateManager.moveToExpectedState (FragmentStateManager.java:8)
  at androidx.fragment.app.FragmentStore.moveToExpectedState (FragmentStore.java:1)
  at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:1)
  at androidx.fragment.app.FragmentManager.dispatchStateChange (FragmentManager.java:3)
  at androidx.fragment.app.FragmentManager.dispatchCreate (FragmentManager.java:2)
  at androidx.fragment.app.FragmentController.dispatchCreate (FragmentController.java:1)
  at androidx.fragment.app.FragmentActivity.onCreate (FragmentActivity.java:1)
  at ru.likecentre.lms.databinding.ActivityMainBinding.inflate (ActivityMainBinding.java)
  at android.app.Activity.performCreate (Activity.java:8214)
  at android.app.Activity.performCreate (Activity.java:8202)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1320)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:4033)

Fragment creation code:

@AndroidEntryPoint
class HomeFragment: BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::inflate) {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
}

companion object {
    fun newInstance() = HomeFragment()
}

}

Any help, please

The found solution did not help

  • Check this: https://stackoverflow.com/questions/74161626/how-to-fix-hilt-onattach-called-multiple-times-with-different-context-hilt-frag – Darshan Nov 24 '22 at 17:44

0 Answers0