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按钮,应用程序将关闭。似乎整个堆栈都被清除了,不仅仅是查看活动抱歉,我会在这里写下你能做的事情它对你有帮助吗?