Ошибка вызова диалога выбора даты при помощи fab - PullRequest
0 голосов
/ 24 апреля 2020

Я новичок в программировании, я застрял на android функции. У меня есть кнопка действия с плавающей точкой, и я пытаюсь использовать ее для открытия диалогового окна выбора даты, но я получаю исключение, которое говорит:

"Невозможно запустить действие ComponentInfo {com.herman.homeSchedule / com.herman .homeSchedule.MainActivity}: java .lang.IllegalStateException: findViewById (R.id.fab_new_schedule) не должен быть нулевым "

любая идея, как это исправить ???

здесь кнопка действия моего поплавка xml

<com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/fab_new_schedule"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="16dp"
    android:layout_marginBottom="16dp"
    android:clickable="true"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:srcCompat="@drawable/ic_add"
    android:focusable="true" />

вот мой код в onCreate

val fab : View = findViewById(R.id.fab_new_schedule)
        fab.setOnClickListener {
            Log.i("Button", "FAB clicked")
            val now = Calendar.getInstance()
            val datePicker = DatePickerDialog(
                this, DatePickerDialog.OnDateSetListener { view, year, month, dayOfMonth ->
                    Toast.makeText(
                        this, "year : " + year
                                + "\n Month : " + month
                                + "\n Date: " + dayOfMonth, Toast.LENGTH_SHORT
                    ).show()
                },
                now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH)
            )
            datePicker.show()
        }

Заранее спасибо

1 Ответ

0 голосов
/ 24 апреля 2020

FloatingActionButton не был найден в макете вашей деятельности.

Вам необходимо добавить FloatingActionButton к макету activity_main (или как вы его назвали) и затем вызвать setContentView(R.layout.activity_main) в MainActivity onCreate.

Если вы сделали это, и оно все еще не работает, не могли бы вы предоставить полный макет, который включает в себя FAB?

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