我有这种添加片段的方法:
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);
,但对我的应用没有影响。有人可以帮助我吗? :(
答案 0 :(得分:1)
删除.addToBackStack(null);
。它将您的Fragment
添加到一个堆栈上(创建您正在谈论的片段历史记录),一旦您按下返回按钮,Activity
就会将其弹出。 / p>
希望这会有所帮助。祝你好运:)