检测片段中按下的后退按钮

时间:2013-11-06 12:30:29

标签: android android-fragments

我需要检测片段中按下的后退按钮。

我的应用程序开始在Fragment中下载数据,所以我需要在按下后退按钮时停止下载(也做一些操作),如果按下主页按钮则不需要。所以我不能使用onPause(),因为它在两种情况下都被调用。

我使用addToBackStack(null),但我需要在当前片段中执行一些操作(停止下载和),然后返回到上一个片段。

getSupportFragmentManager()
   .beginTransaction()
   .replace(R.id.content_frame, fragment)
   .addToBackStack(null)
   .commit();   

2 个答案:

答案 0 :(得分:0)

当你完成片段中你想要做的事情时,可以使用这样的东西来删除当前片段。如果最后一个片段被添加到堆栈中(如您所述),则删除当前片段将自动显示最后一个片段。

this.getActivity().getSupportFragmentManager().beginTransaction()
            .remove(this).commit();

this.getActivity().getFragmentManager().beginTransaction()
            .remove(this).commit();

答案 1 :(得分:0)

看看这个link
在你的活动上你可以覆盖onBackPressed()et然后调用popBackStack