我有四项活动
我可以从 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();
答案 0 :(得分:1)
启动活动后删除finish()调用,因为它将从堆栈中清除该活动,并且我看到您在代码中使用了finish。你也不需要设置这些标志。
答案 1 :(得分:0)
在活动4中,将onBackPressed()实现为,
@Override
public void onBackPressed()
{
Intent i = new Intent(4.this, 3.class);
startActivity(i);
}
如果您有任何后退按钮,请调用此方法。如果你想在每个活动中为你需要实现onBackPressed()方法的每个活动链接背压。
答案 2 :(得分:0)
你可以拨打 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
答案 3 :(得分:0)
检查ItemDetailsActivity是否未调用finish()