关闭当前活动中的另一项活动

GV_*_*Qst 2 java android android-activity

我想完成这个结构:

活动A正在显示.如果按下某个按钮,则打开活动B(不关闭A的当前实例).如果我按下BI的后退按钮,只想完成B,这样我就可以看到我的旧A实例.但如果在活动BI中按下另一个按钮,我想关闭A并打开C.

如何在活动B打开时关闭活动A并启动活动C?

说明: 当B处于活动状态时,A 不得被销毁,以便我可以返回它.但是如果我想打开C那么A 必须被销毁,所以如果我按下CI的按钮就不会再看到它了.

我已经实现了使用startActivity()和finish()方法打开所有活动的代码.我现在所需要的只是回答或建议我如何改造我的结构以实现我的目标.

编辑

当我想打开B时,我想我有一个想法使用startActivtyForResult(),所以当我准备打开C时,我只是让A做关闭自己.

Sau*_*ari 5

当您按下按钮C转到ActivityC时,您只需要按意图传递addFlag方法,如下所示

public void onClick(View v) {
        if(v.getId()==R.id.butoonC){
                Intent intent = new Intent(this, ActivityC.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(intent);  
  }
}
Run Code Online (Sandbox Code Playgroud)

这里Intent.FLAG_ACTIVITY_CLEAR_TOP将删除活动堆栈中除活动B活动C之外的所有活动.所以当你从活动B反印时,你的活动将无法回到活动A.我希望这对你有用


归档时间:

查看次数:

2179 次

最近记录:

7 年,9 月 前