Как я могу отобразить диалог из PreferenceFragment?
Я пытаюсь вызвать DialogFragment, когда я нажимаю предпочтение в PreferenceFragment. К сожалению, когда я звоню getFragmentManager() в DialogFragment.show () я получаю следующую ошибку:
Не удается разрешить метод " show (android.приложение.FragmentManager, java.ленг.String)'
проблема в том, что я не могу, кажется, refernece android.поддержка.В4.приложение.FragmentManager из этого фрагмента. Активность в ведении этот фрагмент простирается от FragmentActivity, но, очевидно, этого недостаточно. Я пытался дозвониться getSupportFragmentManager () также, но это дало мне эту ошибку:
Не удается разрешить метод ' getSupportFragmentManager ()'
Как я могу это сделать?
вот код:
gPrefAcknowledgements.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener()
{
@Override
public boolean onPreferenceClick(Preference preference)
{
DialogAcknowledgements dialogAck = new DialogAcknowledgements();
dialogAck.show(getFragmentManager(), "acknowledgements");
return true;
}
});
2 ответов
основываясь на ответе Стива, мне также нужно настроить DialogFragment для импорта из android.приложение.DialogFragment (вместо android.поддержка.В4.приложение.DialogFragment). Функция show () в этой библиотеке запрашивает android.приложение.FragmentManager, который я могу предоставить через вызов getFragmentManager (), как я сделал в коде, который я разместил в вопросе.
попробуйте это:
dialogAck.show(getActivity().getFragmentManager(), "acknowledgements");
вы всегда можете вызвать действие, которое содержит фрагмент, равный типу.
изменить:
Я ошибся, PreferenceFragment не входит в библиотеку поддержки и доступен только в Android 3.0 и выше. Это в должности может помочь справиться с этим сценарием.