【问题标题】:Check if a previous activity exists检查以前的活动是否存在
【发布时间】:2017-11-08 08:56:26
【问题描述】:

我有一个活动。在检查了一些东西之后,如果存在以前的活动,我想回到以前的活动,如果不存在,我想启动一个 SpecificActivity。我该怎么做?

编辑: 好像没有人理解我的意思,所以让我改一下。假设我在活动 A 中。我不知道 A 是否是堆栈中唯一的活动。如果还有其他活动,那么我想完成 A 并将堆栈中 A 正下方的活动弹出到前台。如果 A 是堆栈中唯一的活动,我想启动一些活动 Z。我该怎么做?

【问题讨论】:

标签: android


【解决方案1】:

您必须将类名作为 Intent extra 从 Splash 和 DashboardActiviy 传递。

在 List Activity 中,您必须使用 getIntent() 获取类名。

当用户点击返回按钮时,你需要检查类名,你可以据此做出决定。

if(name.equalIgnorecase(DashboardActivit.class.getSimpleName()){
  //Add your intent
}else{
  //
}

这可能会给你一个明确的解决方案。试一试

【讨论】:

  • 我已经改写了这个问题。请再次检查。
【解决方案2】:

你可以简单地覆盖 onBackpress()

  @Override
    public void onBackPressed() {
        super.onBackPressed();
        startActivity(new Intent(this, Destination_Activity.class));
        finish();

    }

【讨论】:

  • 这不是我要求的,也不会起作用。为了更好地理解,我重新表述了这个问题。如果你能帮忙,那就太好了。
【解决方案3】:

调用下一个活动喜欢。

Intent intent = new Intent(this,Your_Next_Activity.class);
startActivity(intent);

然后它将调用您的另一个活动,如果您在调用下一个活动后使用finish(),那么您当前的活动将在后台运行,它将完成您当前的活动,因此在调用您的下一个活动后不要使用finish()设想。 之后当你按下返回按钮时,它会自动finish当前活动。

【讨论】:

  • 这不是我要求的,也不会奏效。为了更好地理解,我重新表述了这个问题。如果你能帮忙,那就太好了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多