LemonITCN / LemonHello4Android

妈妈说,问人问题要先说你好,那么咱这个全平台的理论上做的最牛逼的对话框(只是理论上)就叫LemonHello吧~
MIT License
229 stars 51 forks source link

在按钮的回调中立即finish activity在部分手机上回直接崩溃 #11

Open mufeng9891 opened 6 years ago

mufeng9891 commented 6 years ago

08-30 11:26:07.850 7875-7875/com.bxd.crowdsource E/MtaSDK.CaughtExp: java.lang.IllegalArgumentException: View=DecorView@873b47c[] not attached to window manager at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:520) at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:413) at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:206) at android.app.Dialog.dismissDialog(Dialog.java:495) at android.app.Dialog.dismiss(Dialog.java:478) at net.lemonsoft.lemonhello.LemonHelloView$3.run(LemonHelloView.java:295) at android.os.Handler.handleCallback(Handler.java:808) at android.os.Handler.dispatchMessage(Handler.java:101) at android.os.Looper.loop(Looper.java:166) at android.app.ActivityThread.main(ActivityThread.java:7425) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

yinfang commented 5 years ago

在按钮回调中关闭当前界面需要添加延时, TimerTask task = new TimerTask() { @Override public void run() { finish(); overridePendingTransition(-1, -1); } }; if (mTimer == null) { mTimer = new Timer(); } //秒后执行TimeTask的run方法 mTimer.schedule(task, 500);