我需要检测片段中按下的后退按钮。
我的应用程序开始在Fragment中下载数据,所以我需要在按下后退按钮时停止下载(也做一些操作),如果按下主页按钮则不需要。所以我不能使用onPause(),因为它在两种情况下都被调用。
我使用addToBackStack(null),但我需要在当前片段中执行一些操作(停止下载和),然后返回到上一个片段。
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content_frame, fragment)
.addToBackStack(null)
.commit();
答案 0 :(得分:0)
当你完成片段中你想要做的事情时,可以使用这样的东西来删除当前片段。如果最后一个片段被添加到堆栈中(如您所述),则删除当前片段将自动显示最后一个片段。
this.getActivity().getSupportFragmentManager().beginTransaction()
.remove(this).commit();
或
this.getActivity().getFragmentManager().beginTransaction()
.remove(this).commit();
答案 1 :(得分:0)
看看这个link
在你的活动上你可以覆盖onBackPressed()et然后调用popBackStack