fix:修复后台无法show弹窗问题
This commit is contained in:
@@ -5,13 +5,17 @@ import android.content.DialogInterface
|
||||
import android.graphics.Color
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Bundle
|
||||
import android.view.*
|
||||
import android.view.Gravity
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.WindowManager
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import com.nnbc123.app.ui.utils.getActivityContext
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
||||
import com.nnbc123.app.ui.utils.getActivityContext
|
||||
import com.trello.rxlifecycle3.components.support.RxDialogFragment
|
||||
import java.lang.Exception
|
||||
import java.lang.reflect.ParameterizedType
|
||||
|
||||
abstract class BaseDialog<T : ViewBinding> : RxDialogFragment() {
|
||||
@@ -57,9 +61,13 @@ abstract class BaseDialog<T : ViewBinding> : RxDialogFragment() {
|
||||
}
|
||||
|
||||
fun show(context: Context?) {
|
||||
if (context == null) {
|
||||
return
|
||||
}
|
||||
try {
|
||||
context?.let {
|
||||
show((getActivityContext(it) as FragmentActivity).supportFragmentManager, null)
|
||||
val fragmentActivity = getActivityContext(context) as? FragmentActivity
|
||||
fragmentActivity?.lifecycleScope?.launchWhenResumed {
|
||||
show(fragmentActivity.supportFragmentManager, null)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
|
Reference in New Issue
Block a user