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