finish()无法进行活动。

时间:2018-06-20 16:47:25

标签: android activity-finish

我尝试了here的答案,但是无法完成一项活动。

这是代码:

  private void myMethod() {
    startActivity(startNewActivityOpen2);
    GlobalVars.questionHolders = null;  //is being called.  
    finish();
    amTransitioning = true;
  } 

呼叫活动已通过以下标志开始:

i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

我尝试了

i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK);

但这没用。

我可以看到终点线正在被调用。我的日志猫在说:

  

ActivityRecord {426f37f8 u0 com.assistek.ediary / .PRO_GridOther t5569 f}的重复完成请求

该活动将继续进行并没有完成,并且由于单例值已被清除,我得到了空指针错误。

2 个答案:

答案 0 :(得分:1)

finish();不会以您认为活动继续执行finish()之后调用的任何代码的方式终止活动,您应该编写“ return;”。完成后避免执行任何代码

答案 1 :(得分:0)

我想您希望amTransitioningtrue,所以您必须在完成Activity之前先调用它。

  

我可以看到终点线正在被调用。我的日志猫在说:

您是否以其他方法完成Activity?如果这样做,这就是Logcat上的消息。如果要避免出现此消息,请在完成之前添加YOURACTIVITY.isFinishing()(如果确实如此),请不要添加,否则请完成()。