2014-02-17 53 views
1

我有一个DialogPreference,我试图获取添加到它的片段(Google Maps,如果有人关心)。该片段在XML代码中有一个id标记,我通过setDialogLayoutResource()设置对话框。然而,我很努力地得到一个片段的引用(所以我可以设置一些设置,并从中获取数据)。在用户可以开始播放数据之前,我需要获取它的参考。从DialogPreference获取片段?

我试过到目前为止是这样的:

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

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

回答

2

我设法通过将上下文作为一个活动来实现它。

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