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().