Android 如何获取对话框片段的OnAttached事件?

Android 如何获取对话框片段的OnAttached事件?,android,android-fragments,Android,Android Fragments,我遇到了类似于片段活动的情况,当片段从片段活动中分离出来时,我需要执行一些操作 我知道我可以检查isDetached(),但是当片段分离时,我需要调用一些操作。谢谢…您可以在对话框片段中创建一个界面,您的活动必须实现该界面。在对话框片段中,您可以重写“onDetach”方法并调用该方法中的侦听器活动 因此,大致如下: import android.app.Activity; import android.support.v4.app.DialogFragment; public class M

我遇到了类似于片段活动的情况,当片段从片段活动中分离出来时,我需要执行一些操作


我知道我可以检查isDetached(),但是当片段分离时,我需要调用一些操作。谢谢…

您可以在对话框片段中创建一个界面,您的活动必须实现该界面。在对话框片段中,您可以重写“onDetach”方法并调用该方法中的侦听器活动

因此,大致如下:

import android.app.Activity;
import android.support.v4.app.DialogFragment;

public class MyDialogFragment extends DialogFragment{

    public interface CallBack{
       public void onMyDialogFragmentDetached();
    }

    public CallBack mCallBack;

    @Override
    public void onAttach(Activity activity){
       super.onAttach(activity);
       mCallBack = (CallBack) activity;
    }

    @Override
    public void onDetach(){
       super.onDetach();
       mCallBack.onMyDialogFragmentDetached();
    }

}
然后让您的活动实现MyDialogFragment.CallBack:

  public class MyActivity extends Activity implements MyDialogFragment.CallBack{

    @Override
    public void onMyDialogFragmentDetached(){
       /** Called When MyDialogFragment gets detached. */
    }

  }

我希望这有帮助。祝你好运

您可以在对话框片段中创建一个接口,您的活动必须实现该接口。在对话框片段中,您可以重写“onDetach”方法并调用该方法中的侦听器活动

因此,大致如下:

import android.app.Activity;
import android.support.v4.app.DialogFragment;

public class MyDialogFragment extends DialogFragment{

    public interface CallBack{
       public void onMyDialogFragmentDetached();
    }

    public CallBack mCallBack;

    @Override
    public void onAttach(Activity activity){
       super.onAttach(activity);
       mCallBack = (CallBack) activity;
    }

    @Override
    public void onDetach(){
       super.onDetach();
       mCallBack.onMyDialogFragmentDetached();
    }

}
然后让您的活动实现MyDialogFragment.CallBack:

  public class MyActivity extends Activity implements MyDialogFragment.CallBack{

    @Override
    public void onMyDialogFragmentDetached(){
       /** Called When MyDialogFragment gets detached. */
    }

  }

我希望这有帮助。祝你好运

谢谢你的回复。问题是我有这么多的片段,所以在每个片段中重写OnDetch对我来说是不可能的。此外,我不能为fragment创建基类,这样我也可以这样做,但是我还需要更改所有当前片段的继承。那么有没有办法从外部连接到附件上的碎片呢?谢谢你的回复。问题是我有这么多的片段,所以在每个片段中重写OnDetch对我来说是不可能的。此外,我不能为fragment创建基类,这样我也可以这样做,但是我还需要更改所有当前片段的继承。那么,有没有办法从外部将碎片挂在连接件上?