2014-02-17 5 views
1

У меня есть DialogPreference, что я пытаюсь получить добавленный к нему фрагмент (Google Maps, если кто-то заботится). У фрагмента есть тег id в XML-коде, и я устанавливаю диалог через setDialogLayoutResource(). Тем не менее, я изо всех сил пытаюсь получить ссылку на фрагмент (поэтому я могу установить для него некоторые настройки и получить данные из него). Мне нужно получить ссылку на него, прежде чем пользователь сможет начать играть с данными.Получение фрагмента из диалогового окна?

То, что я пытался до сих пор это:

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

Это не работает, потому что getDialog возвращает нуль в этой точке жизненного цикла. Если есть лучший способ ссылаться на активность или FragmentManager, я бы хотел это увидеть. Спасибо за помощь!

ответ

2

Мне удалось заставить это работать, создав контекст как действие.

((Activity) getContext()).getFragmentManager().findFragmentById(R.id.map)); 
Смежные вопросы