我遇到困难请帮助我。这就是问题。我的应用程序中有一个菜单屏幕。现在可以选择返回菜单到所有未直接来自菜单屏幕的屏幕。例如我转到活动B,如菜单 - >活动A - >活动B.现在我写了关于按回到菜单按钮。
this.finish();
startActivity(new Intent(SelectStateActivity.this,MenuScreen.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
我没有完成活动A,因为当我按下活动B上的按钮时,我想要参加活动A.因此当我按活动B上的菜单按钮时它将在堆栈中。 我来到菜单屏幕,这很好,但当我按回菜单屏幕时,我来到活动A.我不想要。我也试过
this.finish();
startActivity(new Intent(SelectStateActivity.this,MenuScreen.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP));
和
startActivity(new Intent(SelectStateActivity.this,MenuScreen.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK));
但是没有工作。请帮助我。
答案 0 :(得分:1)
您可以通过以下解决方案解决问题。
使用使用核心java实现的普通观察者模式。 对于观察者模式,请参阅this
或者在android中实现的相同模式是广播接收器。 在此解决方案中,每个活动都会注册到您的自定义广播按摩,一旦您启动菜单活动,就会广播该消息,以便注册的活动可以收听消息并完成自己。
如果你在上面有问题,请告诉我。