Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.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
Android:从堆栈中删除活动_Android_Android Activity - Fatal编程技术网

Android:从堆栈中删除活动

Android:从堆栈中删除活动,android,android-activity,Android,Android Activity,我的应用程序后端有一个数据库树结构。 基本上如下所示: List |- View 我编写了将视图转换为显示视图的列表的功能。如图所示: List |- List |- View 触发toList()函数时,应用程序应重建数据库中的结构,并切换到显示列表内容的新列表活动 上述所有工作,除了一件事: 切换到新列表活动时,应将上一个视图从堆栈中删除,以便在按下“后退”按钮时保持顺序 我尝试了以下目的: Intent i = new Intent(ViewActivity.this

我的应用程序后端有一个数据库树结构。 基本上如下所示:

List
  |- View
我编写了将视图转换为显示视图的列表的功能。如图所示:

List
  |- List
     |- View
触发
toList()
函数时,应用程序应重建数据库中的结构,并切换到显示列表内容的新列表活动

上述所有工作,除了一件事:

切换到新列表活动时,应将上一个视图从堆栈中删除,以便在按下“后退”按钮时保持顺序

我尝试了以下目的:

Intent i = new Intent(ViewActivity.this, ListActivity.class);
// new_item is a DTO containing the needed id to create the List activity
i.putExtra("selected_item", _new_item);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PostActivity.this.startActivity(i);
以及:

Intent i = new Intent(ViewActivity.this, ListActivity.class);
// new_item is a DTO containing the needed id to create the List activity
i.putExtra("selected_item", _new_item);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
PostActivity.this.startActivity(i);
这两种方法都没有达到预期效果

是否有任何其他方法可以出于上述目的使用
finish()
? 我明确地说不想为了结果而启动活动。

只需在代码末尾添加finish()并删除标志,这将破坏ViewActivity,并将其从堆栈中删除

Intent i = new Intent(ViewActivity.this, ListActivity.class);
// new_item is a DTO containing the needed id to create the List activity
i.putExtra("selected_item", _new_item);
PostActivity.this.startActivity(i);

finish();

这就是a在这个问题中所回答的,看看它的工作原理。如果在转到新的ListActivity后按back按钮,应用程序将关闭。似乎整个堆栈都被清除了,不仅仅是查看活动抱歉,我会在这里写下你能做的事情它对你有帮助吗?