当碎片被杀死时,是否有任何功能?或活动可以聆听此类更改,例如删除片段等?
这是一些碎片生命周期方法名称很自我描述您可以从那些波纹管
调用活动的方法@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public void onDetach() {
super.onDetach();
}
@Override
public void onStop() {
super.onStop();
}
@Override
public void onPause() {
super.onPause();
}
好的,这是一种将侦听器添加到您的活动中的方法。
1创建像这样的回调界面
public interface CallBack<T> {
void onCall(int key, T body);
}
2使您的活动实施,例如
public class MyActivity extends Activity implements Callback
这样做后,您需要在活动类中实现oncall方法 onCall
是一种将从fragment
3在您的片段类中,成员变量
private Callback<TypeYouWant> callback;
4为回调创建一个设置器
public void setCallBack(Callback c){
this.callback = c;
}
5转到您的活动和setCallback,因为您的活动知道您的片段,因此您可以参考它。至少您可以使用getFragmentManager().findFragmentById()
获得它。在Activity的Oncreate方法中添加此
myFragment.setCallback(this) //note you can pass **this** because your activity implements `Callback` interface
6最后一步,在片段的ondetach添加
中@Override
public void onDetach() {
super.onDetach();
if(callback !=null){
callback.call(some key, some T type value);
}
}
所以,每当ondetach在fragment中打电话时,您的活动都会得到回调