[英]Android: How to go back previous Activity
我有四个活动
我可以正确地从ListActivity -> record1_Act和ListActivity <-record1_Act去,但是当我想从Itemdetail_Activity -> record2_act 去并从Itemdetail_Activity <- record2_act返回时,它总是去record2_act 到 ListActivity 。
我什至用过i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
但它不起作用。 如何解决这些问题?
这是我的代码
Intent i = new Intent(record2_act.this, Itemdetail_Activity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);
Intent i = new Intent(record1_Act.this, ListActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);
finish();
开始活动后删除 finish() 调用,因为它会从堆栈中清除该活动,我看到您在代码中使用了完成。 您也不需要设置这些标志。
在活动 4 中,将 onBackPressed() 实现为,
@Override
public void onBackPressed()
{
Intent i = new Intent(4.this, 3.class);
startActivity(i);
}
如果您有任何后退按钮,请调用此方法。 如果您想为每个活动链接 backpress,您需要在每个活动中实现 onBackPressed() 方法。
如果之前的活动未完成,您可以调用onBackPressed()也可以使用:
this.finish();
// Or
Activity currentActivity = this;
currentActivity.finish();
如果您之前完成了活动,则必须跟踪活动中的用户并制作活动列表,然后转到:
activitiList.get(activityList.size() - 2);
// activityList.size() - 1 is last activity and activityList.size() - 2 is previous activity
检查 ItemDetailsActivity 是否没有调用 finish()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.