Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android完成某个活动实例,不管它是单个实例还是多个实例_Java_Android_Xml_Kotlin_Android Activity - Fatal编程技术网

Java Android完成某个活动实例,不管它是单个实例还是多个实例

Java Android完成某个活动实例,不管它是单个实例还是多个实例,java,android,xml,kotlin,android-activity,Java,Android,Xml,Kotlin,Android Activity,我想知道是否有一个很好的方法来完成一个有多个实例的活动。我故意让它在w/multiple instance(默认)启动模式下运行 例如,我得到了活动A,然后去了活动B。我有机会做这些场景: 场景1=A>B>B>C,我只想销毁B的所有实例 场景2=A>B>B>C并遵循当前的后堆栈没有问题 但是对于场景1,我需要保留A的状态(在活动A中,这是在该项目中滚动的所选选项卡状态等) 到目前为止我尝试了什么: 我试图在清单中修改启动模式,这不是我需要的 尝试使用finishAfinity(),但它会破

我想知道是否有一个很好的方法来完成一个有多个实例的活动。我故意让它在w/multiple instance(默认)启动模式下运行

例如,我得到了活动A,然后去了活动B。我有机会做这些场景:

  • 场景1=A>B>B>C,我只想销毁B的所有实例
  • 场景2=A>B>B>C并遵循当前的后堆栈没有问题
但是对于场景1,我需要保留A的状态(在活动A中,这是在该项目中滚动的所选选项卡状态等)

到目前为止我尝试了什么:

  • 我试图在清单中修改启动模式,这不是我需要的
  • 尝试使用finishAfinity(),但它会破坏所有正在运行的活动
  • 尝试将Intent与CLEAR_TOP或NEW_TASK一起使用,但它将我的活动重置为状态
  • 完成活动(请求代码)
  • 浏览了StackOverflow中以前的一些问题,但我运气不好
这些场景是使用if-else语句解决的,我只需调用finish()两次就解决了这个问题,但是还有其他方法吗?必须调用finish()两次以及一个布尔检查程序,这有点麻烦