2014-02-17 3 views
1

나는 DialogPreference를 가지고 있는데, 그것에 추가 된 Fragment를 얻으 려하고있다. 프래그먼트에는 XML 코드에 id 태그가 있으며, setDialogLayoutResource()을 통해 대화 상자를 설정합니다. 그러나, 나는 조각에 대한 참조를 얻으려고 애 쓰고있다. (그래서 나는 그것에 몇 가지 설정을하고 그것으로부터 데이터를 얻을 수있다.) 사용자가 데이터를 재생하기 전에 해당 데이터에 대한 참조를 가져와야합니다. 내가 지금까지 시도했습니다 무엇DialogPreference에서 조각 가져 오기?

은 이것이다 :

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

getDialog는 라이프 사이클이 시점에서 null을 반환하기 때문에이 작동하지 않습니다. 액티비티 또는 FragmentManager를 참조하는 더 좋은 방법이 있다면, 그것을보고 싶습니다. 도와 주셔서 감사합니다!

답변

2

Context를 Activity로 캐스팅하여 작동하도록 관리했습니다.

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