无限嵌套的评论。如何维护堆栈历史记录?

时间:2017-08-24 20:54:46

标签: java android android-intent

我有一个列表适配器,允许用户通过按下其中一个项目来启动同一个Activity的新实例:

docker inspect <container-name>

问题是我已经在CommentActivity中了。如果我在启动新Intent之前写Intent intent = new Intent(mContext, CommentActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra(ParseConstants.KEY_OBJECT_ID, commentId); intent.putExtra(ParseConstants.KEY_SENDER_ID, userId); mContext.startActivity(intent); ,我会到达我想去的地方,但是当用户按下时我会返回堆栈中的第一个Activity,即MainActivity。我想返回之前的CommentActivity。我该如何解决这个问题?

清单输入:

(Activity) mContext.finish()

1 个答案:

答案 0 :(得分:1)

当您使用Intent.FLAG_ACTIVITY_NEW_TASK标志时,您告诉Android启动一个新的Task(活动集合)以包含新的Activity,而不是将新的Activity推送到与当前Task关联的堆栈。

当Activity退出时,Task为空,因此您从Application的根目录返回。

您要做的是将新Activity推送到现有堆栈。这是默认行为,因此请删除

 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

线。

Read more about Tasks and Activities here.