У меня есть EditText в моем ConstraintLayout, и я использую MVVM, когда щелкают EditText, я хочу показать DatePicker. но приложение вылетает, и я не вижу никаких ошибок, объясняющих его причину.
Вот мой EditText
<EditText
android:id="@+id/etStartDate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="36dp"
android:ems="10"
android:inputType="textPersonName"
android:hint="Start date"
android:focusableInTouchMode="false"
android:text="@{addProductViewModel.inputStartDate}"
android:onClick="@{() -> addProductViewModel.showStartDateDatePicker()}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/etProductType" />
ViewModel
fun showStartDateDatePicker() {
Toast.makeText(context, "showStartDateDatePicker", Toast.LENGTH_LONG).show()
dpd.show()
}
val c = Calendar.getInstance()
val year = c.get(Calendar.YEAR)
val month = c.get(Calendar.MONTH)
val day = c.get(Calendar.DAY_OF_MONTH)
val dpd = DatePickerDialog(context, DatePickerDialog.OnDateSetListener { view, year, monthOfYear, dayOfMonth ->
// Display Selected date in textbox
//lblDate.setText("" + dayOfMonth + " " + MONTHS[monthOfYear] + ", " + year)
//inputStartDate.value = "" + dayOfMonth + " " + monthOfYear + ", " + year
Toast.makeText(context, "DatePickerDialog", Toast.LENGTH_LONG).show()
}, year, month, day)
Пожалуйста, подскажите, где я делаю это неправильно
Спасибо R
Редактировать
Ошибка
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:1069)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:381)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
at android.app.Dialog.show(Dialog.java:470)
at com.rao.ixxx.AddProductViewModel.showStartDateDatePicker(AddProductViewModel.kt:46)
at com.rao.ixxx.AddProductBindingImpl._internalCallbackOnClick(AddProductBindingImpl.java:284)
at com.rao.ixxx.generated.callback.OnClickListener.onClick(OnClickListener.java:11)
at android.view.View.performClick(View.java:7348)
at android.widget.TextView.performClick(TextView.java:14162)
at android.view.View.performClickInternal(View.java:7314)
at android.view.View.access$3200(View.java:846)
at android.view.View$PerformClick.run(View.java:27803)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7179)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)