finish() 在 activity 上不工作。
finish() not working on activity.
我尝试了 的答案,但无法完成 activity。
代码如下:
private void myMethod() {
startActivity(startNewActivityOpen2);
GlobalVars.questionHolders = null; //is being called.
finish();
amTransitioning = true;
}
调用 Activity 是从这些标志开始的:
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
我试过了
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK);
但这没有用。
我可以看到正在调用 finish。我的 logcat 是说:
Duplicate finish request for ActivityRecord{426f37f8 u0 com.assistek.ediary/.PRO_GridOther t5569 f}
activity 继续其愉快的方式,但没有完成,我收到一个空指针错误,因为单例的值正在被清除。
完成();不会终止 activity 你认为它继续执行任何在 finish() 之后调用的代码的方式你应该在完成后写一个 "return;" 以避免任何代码执行
我猜你希望 amTransitioning
成为 true
,所以你必须在完成 Activity
之前调用它。
I can see that finish is getting called. My logcat is saying:
您是否正在用其他方法完成 Activity
?如果您这样做,那就是 Logcat
上的消息。如果你想避免这个消息,就在完成之前添加 YOURACTIVITY.isFinishing()
如果它是真的不要完成,否则 finish().
我尝试了
代码如下:
private void myMethod() {
startActivity(startNewActivityOpen2);
GlobalVars.questionHolders = null; //is being called.
finish();
amTransitioning = true;
}
调用 Activity 是从这些标志开始的:
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
我试过了
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK);
但这没有用。
我可以看到正在调用 finish。我的 logcat 是说:
Duplicate finish request for ActivityRecord{426f37f8 u0 com.assistek.ediary/.PRO_GridOther t5569 f}
activity 继续其愉快的方式,但没有完成,我收到一个空指针错误,因为单例的值正在被清除。
完成();不会终止 activity 你认为它继续执行任何在 finish() 之后调用的代码的方式你应该在完成后写一个 "return;" 以避免任何代码执行
我猜你希望 amTransitioning
成为 true
,所以你必须在完成 Activity
之前调用它。
I can see that finish is getting called. My logcat is saying:
您是否正在用其他方法完成 Activity
?如果您这样做,那就是 Logcat
上的消息。如果你想避免这个消息,就在完成之前添加 YOURACTIVITY.isFinishing()
如果它是真的不要完成,否则 finish().