从DialogPreference获取片段?

时间:2014-02-17 15:57:14

标签: android fragment dialog-preference

我有一个DialogPreference,我正在尝试添加一个片段(谷歌地图,如果有人关心的话)。该片段在XML代码中有一个id标记,我通过setDialogLayoutResource()设置对话框。但是,我很难获得对片段的引用(所以我可以为它设置一些设置,并从中获取数据)。我需要在用户开始播放数据之前获得对它的引用。

到目前为止我尝试过的是:

@Override
protected void onBindDialogView(View view) {
    ((Fragment) getDialog()
            .getOwnerActivity()
            .getFragmentManager()
            .findFragmentById(R.id.map));
}

这不起作用,因为getDialog在生命周期的这一点返回null。如果有更好的方式来引用活动或FragmentManager,我很乐意看到它。谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

我设法通过将Context作为活动进行投射来实现这一点。

((Activity) getContext()).getFragmentManager().findFragmentById(R.id.map));