返回回调(从CustomView中打开DialogFragment)

时间:2013-08-06 05:14:22

标签: android android-dialogfragment

这与我之前提出的问题有关:Open a DialogFragment from within a CustomView

我现在需要使用回调来从DialogFragment返回一个值。我知道这样的事情通常都是这样做的:

public class MyDialogFragment extends DialogFragment {

public interface onMultipleSelectionFragmentCloseListener {
    public void onMultipleSelectionFragmentOkay();
}

onMultipleSelectionFragmentCloseListener mListener;

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
    try {
        mListener = (onMultipleSelectionFragmentCloseListener) activity;
    } catch (ClassCastException e) {
        throw new ClassCastException(activity.toString() + " must implement onMultipleSelectionFragmentCloseListener");
    }
}
....
// to use it
mListener.onMultipleSelectionFragmentOkay();

当您希望Activity实现并接收回调时就是这种情况。但是,如果我想要一个自定义视图来执行该操作(例如在我之前的问题中),该怎么办?

1 个答案:

答案 0 :(得分:-1)

你做同样的事情 - 你创建一个像上面这样的界面。您保留对该接口类型的变量的引用。然后你有一些函数registerListener,它接受一个监听器对象并存储它,以便你以后可以调用它。