У меня есть класс, который выглядит следующим образом:DialogFragment не отображается сообщение
public class MyDialogFragment extends DialogFragment implements DialogInterface.OnClickListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreateDialog(savedInstanceState);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity());
alertDialogBuilder.setTitle("This is a title");
alertDialogBuilder.setMessage("This is a message");
alertDialogBuilder.setPositiveButton("Yes", this);
alertDialogBuilder.setNegativeButton("No", null);
return alertDialogBuilder.create();
}
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// Do something
}
public void showAllowingStateLoss(FragmentManager fragmentManager) {
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.add(this, "MyDialogFragment");
ft.commitAllowingStateLoss();
}
}
и используется, как это:
MyDialogFragment dialog = new MyDialogFragment();
dialog.showAllowingStateLoss(fragmentManager);
Проблема заключается в том, что сообщение не отображается в приложении , он просто показывает это:
что я делаю неправильно?
Почему вы используете фрагмент диалога при использовании AlertDialog внутри? –
@JozefDochan не знаю, это упрощенная версия кода из приложения, которое я «унаследовал» :) Я очень мало знаю об Android-разработке, я просто пытаюсь исправить ошибку. – TheQ
нет смысла использовать диалог «Фрагмент», если вы хотите показать сообщение и кнопки «да/нет». Просто где вы создаете dialogFragment create AlerDialog –