Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.5K
Views
Fragment not associated with a fragment manager. (Dialog Fragment)

I have a dialog fragment, and i make a class for lazy initialization. When i'm showing the dialog, it's showing like normal. but, when i'm dismissing the dialog, it crash caused by : Fragment not associated with a fragment manager.

i have tried to postDelayed dimiss too, but still crashing.

LoadingDialog.kt

class LoadingDialog(private val fm: FragmentManager) : DialogFragment() {

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

    fun showDialog(tag: String? = null) {
        show(fm, tag)
    }

    fun closeDialog() {
        dismiss()
    }
}

LazyDialog.kt

class LazyDialog<T : DialogFragment>(private val type: Class<T>, private val fm: FragmentManager) :
    Lazy<T> {
    private var dialog: T? = null

    override val value: T
        get() {
            return when {
                type.isAssignableFrom(LoadingDialog::class.java) -> {
                    LoadingDialog(fm).also {
                        dialog = it as T
                    } as T
                }
                else -> throw IllegalArgumentException("Unknown class : ${type.name}")
            }
        }

    override fun isInitialized(): Boolean = dialog != null
}

Extensions.kt

inline fun <reified T : DialogFragment> FragmentActivity.loadingDialog(): Lazy<T> {
    return LazyDialog(T::class.java, supportFragmentManager)
}

LoginActivity.kt

private val loadingDialog: LoadingDialog by loadingDialog()

enter image description here

over 4 years ago · Hanz Gallego
1 answers
Answer question

0

You may be trying to dismiss it in the onDestroy method of a fragment, that was my case at least. Move the dismiss method call to the onStop of your activity or a fragment.

over 4 years ago · Hanz Gallego Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!