我有一个DialogPreference,我正在尝试添加一个片段(谷歌地图,如果有人关心的话)。该片段在XML代码中有一个id标记,我通过setDialogLayoutResource()
设置对话框。但是,我很难获得对片段的引用(所以我可以为它设置一些设置,并从中获取数据)。我需要在用户开始播放数据之前获得对它的引用。
到目前为止我尝试过的是:
@Override
protected void onBindDialogView(View view) {
((Fragment) getDialog()
.getOwnerActivity()
.getFragmentManager()
.findFragmentById(R.id.map));
}
这不起作用,因为getDialog在生命周期的这一点返回null。如果有更好的方式来引用活动或FragmentManager,我很乐意看到它。谢谢你的帮助!
答案 0 :(得分:2)
我设法通过将Context作为活动进行投射来实现这一点。
((Activity) getContext()).getFragmentManager().findFragmentById(R.id.map));