У меня есть следующий xml
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/to_textedit"
android:onClick="@{() -> viewModel.openTimePickerClicked()}"
android:layout_width="match_parent"
android:text="10:00 pm"
android:textSize="14sp"
android:layout_height="match_parent"/>
, и я использую модель представления, чтобы назначить его слушателю щелчка следующим образом
val openTimePickerClickEvent = LiveEvent<Unit>()
fun openTimePickerClicked() {
openTimePickerClickEvent.call()
}
, и в моей модели я привязываю этого наблюдателя какследующий
private val openTimePickerClicked = Observer<Unit> {
openTimePickerDialog () // here is the problem
}
private fun openTimePickerDialog(textInputEditText : TextInputEditText) {
val cal = Calendar.getInstance()
val timeSetListener = TimePickerDialog.OnTimeSetListener { timePicker, hour, minute ->
cal.set(Calendar.HOUR_OF_DAY, hour)
cal.set(Calendar.MINUTE, minute)
textInputEditText.setText(SimpleDateFormat("HH:mm").format(cal.time))
}
TimePickerDialog(
binding.root.context,
timeSetListener,
cal.get(Calendar.HOUR_OF_DAY),
cal.get(Calendar.MINUTE),
false
).show()
}
как мне указать путь к моему методу в представлении, чтобы иметь возможность установить его текст