我的应用程序后端有一个数据库树结构。 它基本上如下所示:
List
|- View
我编写了将 View 转换为显示 View 的列表的功能。显示在这里:
List
|- List
|- View
当触发 toList()
函数时,应用程序应该重建数据库中的结构,并切换到显示列表内容的新列表 Activity 。
除一件事外,以上所有工作:
当切换到新的 List Activity 时,应从堆栈中删除先前的 View ,以便在按下“后退”按钮时保持顺序。
我尝试了以下 Intent :
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()
来达到上述目的?
我明确表示不想为了结果而开始 Activity 。
最佳答案
只需在您的代码末尾添加一个 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();
关于Android:从堆栈中删除 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38376005/