Как расширить класс Android, такой как DayPickerPagerAdapter, который находится в пакете android.widget? - PullRequest
0 голосов
/ 05 июля 2018

Я бы хотел расширить модуль DayPickerPagerAdapter из пакета android.widget. Возможно ли это?

Я пытаюсь создать свой собственный DatePickerDialog (который мне также нужно будет расширить), где я могу выделить несколько дней, а не выделять только выбранный день.

Должен ли я просто скопировать исходный код этих классов Android? Если так, это законно?

Спасибо!

1 Ответ

0 голосов
/ 06 июля 2018

Да, вы можете технически расширить эти классы, создав новый класс в том же пакете (создайте структуру папок в соответствии с расширяемым пакетом), что означает, что вы создадите что-то вроде этого:

/src/main/java/android/widget/CustomDayPickerPagerAdapter.java

... и это позволит вам расширить класс DayPickerPagerAdapter, потому что он закрыт для пакета.

Тем не менее, это не гарантия того, что вы сможете успешно управлять внутренними компонентами компонента так, как вам хочется, потому что большая часть функциональности вероятна private, что означает, что вам не повезло .

Конечно, вы также можете скопировать исходный код этих компонентов, как вы предлагаете. Это совершенно законно, потому что весь проект Android с открытым исходным кодом (лицензия Apache 2.0). Недостатком этого является необходимость периодически проверять наличие обновлений и исправлений ошибок из апстрима и реинтегрировать их в свой пользовательский компонент.

...