Я новичок в разработке приложений для Kotlin и Android.
Я прохожу онлайн-курс, и одним из упражнений является выбор даты, чтобы напомнить о том, что нужно сделать в определенное время.
Что я сделал, так это создал EditText и реализовал DatePicker. Когда пользователь щелкает окно выбора даты, открывается, и после того, как я выбираю дату, я не могу установить текст EditText.
Кстати, я уже проверил другие связанные вопросы, и он говорит, что проверьте свой идентификатор, чтобы убедиться, что вы имеете в виду ненулевой виджет в правильном файле макета. Я дважды проверил это, и это не проблема
Вот ошибка.
Попытка вызвать виртуальный метод «void android.widget.EditText.setText(java.lang.CharSequence)» для нулевой ссылки на объект
//EditText on layout file
<EditText
android:id="@+id/calendarEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="Select your date"
android:focusable="false"
/>
//My Kotlin code
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_add)
//DatePicker is called inside onCreate function
calendarEditText.setOnClickListener {
val newFragment = DatePickerFragment()
newFragment.show(supportFragmentManager, "datePicker")
}
}
// DateSet part of my DatePickerFragment
override fun onDateSet(view: DatePicker, year: Int, month: Int, dayOfMonth: Int) {
//selected date converted into one string
val date = "$year/$month/$dayOfMonth"
//this is where I got the error
calendarEditText.setText(date)
}
findViewById()
. - person Nurbol   schedule 15.07.2019