Android 检测片段中按下的backbutton
我需要检测在片段中按下的backbutton 我的应用程序开始下载数据片段,所以我需要停止下载(也做一些操作)上的后退按钮按下,而不需要如果主页按钮按下。所以我不能使用onPause(),因为它在两种情况下都被调用 我使用addToBackStack(null),但我需要在当前片段中执行一些操作(停止下载和),然后返回到上一个片段Android 检测片段中按下的backbutton,android,android-fragments,Android,Android Fragments,我需要检测在片段中按下的backbutton 我的应用程序开始下载数据片段,所以我需要停止下载(也做一些操作)上的后退按钮按下,而不需要如果主页按钮按下。所以我不能使用onPause(),因为它在两种情况下都被调用 我使用addToBackStack(null),但我需要在当前片段中执行一些操作(停止下载和),然后返回到上一个片段 getSupportFragmentManager() .beginTransaction() .replace(R.id.content_frame,
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content_frame, fragment)
.addToBackStack(null)
.commit();
this.getActivity().getSupportFragmentManager().beginTransaction()
.remove(this).commit();
当你完成了你想在片段中做的事情后,你可以使用类似这样的方法来删除当前片段。如果最后一个片段被添加到堆栈中(如您所述),那么删除当前片段将自动显示最后一个片段
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content_frame, fragment)
.addToBackStack(null)
.commit();
this.getActivity().getSupportFragmentManager().beginTransaction()
.remove(this).commit();
或
看看这个在您的活动中,您可以覆盖onBackPressed()et,然后调用popBackStack在片段的onDestroyView()中执行此操作谢谢。但我不需要删除片段。那么,如果您不想删除当前片段,在处理完当前片段后,您将如何返回到最后一个片段?好的!如果使用asyncTask,则可以在onPause方法上使用asyncTask.cancel()。如果要执行特定作业,请在调用AsyncTask.cancel()时调用onCancelled()。超越它!