【问题标题】:How to go to parent activity from sub children activity?如何从子子活动转到父活动?
【发布时间】:2014-04-04 05:47:29
【问题描述】:

想象一下,我有一个名为“P”的父活动。 P先生有5个孩子,分别叫'1','2','3','4','5'。

但我的项目中的真相是,

  • P 有 1 个孩子。

  • 1 有 2 作为孩子。

  • 2 有 3 作为孩子。

  • 等等。

我从 P 到 1,从 1 到 2,从 2 到 3,依此类推。

问题是我怎样才能从 3 直行到 P? 因此 P 必须是他的父母,我错了吗?

这是我到目前为止在我的背上实施的内容

@Override 
    public void onBackPressed(){
      if (background_tick != null){
          if(background_tick.isPlaying())
              background_tick.stop();
          background_tick.release();
         // finish();
      }
      Intent crush=new Intent(getApplicationContext(),P.class);
      startActivity(crush);
      //super.onBackPressed();
 }

使用该代码,我成功进入活动 P,但是当我从 P 按“返回”时,它返回到活动 3,我不希望这种情况发生。

任何答案将不胜感激。 来自巴厘岛的问候。

【问题讨论】:

  • 先生们下午好。 - 取决于我们在世界的哪个地方。也许我们是女士们。
  • startActivity(crush)之后直接调用finish()
  • SMR 先生:没用。发生同样的问题。 Userblabla : 对不起,女士们晚上好。
  • 只是为了让您了解为什么您的代码不起作用。活动不是严格的父母或孩子。它更像是做蛋糕,你用了一个 P 层,然后一个 C 层,然后又是一个 P 层。所以当你删除最后一个 P 时,你又回到了 C。

标签: android android-intent android-activity parent


【解决方案1】:

设置你的意图标志。它从顶部删除活动。

Intent crush=new Intent(getApplicationContext(),P.class);
crush.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(crush);

Intent Flag

【讨论】:

【解决方案2】:

使用标志

 Intent i = new Intent(3.this,P.class);
 i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 startActivity(i);

【讨论】:

    猜你喜欢
    • 2012-03-28
    • 2023-04-01
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多