Я пытаюсь DRY обновить свой код, и у меня есть пара действий, в которых используются те же блоки кода, которые я хочу переместить в метод родительского действия. Проблема в том, что этот код использует сгенерированные ViewBindings, которые являются уникальными классами, и я не могу понять, что это за родительский класс, чтобы использовать его в качестве параметра метода.
Например, этот код состоит из двух разные действия, и единственное различие состоит в том, что в одном случае привязка = Activity1Binding, а в другом - Activity2Binding. У них есть общие представления с одинаковыми идентификаторами.
binding.noteTitleTV.setOnClickListener { changeTitle() }
binding.deleteModalLayout.setOnClickListener { binding.deleteModalLayout.visibility = View.GONE }
binding.cancelDeleteButton.setOnClickListener { binding.deleteModalLayout.visibility = View.GONE }
binding.confirmDeleteButton.setOnClickListener { onDeleteNoteClicked() }
Я хотел бы реализовать что-то подобное в родительском действии, чтобы предотвратить дублирование кода, если это возможно:
fun setUp(binding: [BINDING PARENT CLASS]) {
binding.noteTitleTV.setOnClickListener { changeTitle() }
// etc
}