安卓 - 片段历史



>我有这个方法来添加一个片段:

public void addFragmentOnTop(Fragment fragment) {
getSupportFragmentManager()
    .beginTransaction()
    .replace(R.id.content, fragment)
    .addToBackStack(null)
    .commit();
}

假设我将在"主页"中使用键"耳机"搜索项目。然后R.id.content将替换为 SearchFragment。当我再次使用"耳机"键搜索(不点击后退按钮返回主页,因为 SearchView 在工具栏中(时,R.id.content将再次替换。问题是,为什么这会生成历史片段?当我点击返回按钮时,R.id.content将显示带有"耳机"键的搜索结果。我已经尝试过getSupportFragmentManager().remove(SearchFragment.TAG);但不影响我的应用程序。有人可以帮助我吗?:(

删除.addToBackStack(null); 。它会将您的Fragment添加到后退堆栈上(创建您正在谈论的片段历史记录(,只要您按下后退按钮,您的Activity就会弹出该历史记录。


希望这有帮助。祝你好运:)

最新更新