DialogFragment пустой, хотя xml предоставлен - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь создать всплывающее окно с DialogFragment, однако мой диалог содержит только заголовок, отрицательную и положительную кнопку.

Layout_selection_dialog

<Button
        android:text="Aalborg"
        android:layout_width="200dp"
        android:layout_height="wrap_content" android:id="@+id/firstCityBtn"
        app:layout_constraintStart_toStartOf="parent"/>
<Button
        android:text="Aarhus"
        android:layout_width="200dp"
        android:layout_height="wrap_content" android:id="@+id/thirdCityBtn"
        app:layout_constraintBottom_toBottomOf="parent"/>
<Button
        android:text="København"
        android:layout_width="200dp"
        android:layout_height="wrap_content" android:id="@+id/secondCityBtn"
        android:layout_marginTop="8dp"/>

SelectionDialog

public class SelectionDialog extends DialogFragment {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        LayoutInflater inflater = getActivity().getLayoutInflater();
        View view = inflater.inflate(R.layout.layout_selection_dialog, null);

        builder.setTitle("Vælg by").setNegativeButton("Back", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {

            }
        }).setPositiveButton("Save", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {

            }
        });

        return builder.create();
    }
}

Функция для вызова в MainActivity

fun showCitySelection() {
   var dialog: CitySelectionDialog = CitySelectionDialog()
   var ft: FragmentTransaction = supportFragmentManager.beginTransaction()
    dialog.show(ft, null)
}

Есть идеи, почему я не получаю свои кнопки в диалоговом окне?

1 Ответ

0 голосов
/ 15 апреля 2019

Вы создали View, но не установили его в диалог. Добавить

builder.setView(view);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...