Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何扩展Android.widget包中的DayPickerPagerAdapter之类的Android类?_Android_Widget_Subclass - Fatal编程技术网

如何扩展Android.widget包中的DayPickerPagerAdapter之类的Android类?

如何扩展Android.widget包中的DayPickerPagerAdapter之类的Android类?,android,widget,subclass,Android,Widget,Subclass,我想从android.widget包中扩展DayPickerPagerAdapter模块。这可能吗 我想做的是创建我自己的DatePickerDialog(我还需要扩展它),在这里我可以突出显示多个日期,而不是只突出显示选定的日期 我需要复制这些android类的源代码吗?如果是,这样做合法吗 谢谢 是的,您可以通过在同一个包中创建新类(创建文件夹结构以匹配您要扩展的包)从技术上扩展这些类,这意味着您可以创建如下内容: /src/main/java/android/widget/CustomDa

我想从android.widget包中扩展DayPickerPagerAdapter模块。这可能吗

我想做的是创建我自己的DatePickerDialog(我还需要扩展它),在这里我可以突出显示多个日期,而不是只突出显示选定的日期

我需要复制这些android类的源代码吗?如果是,这样做合法吗


谢谢

是的,您可以通过在同一个包中创建新类(创建文件夹结构以匹配您要扩展的包)从技术上扩展这些类,这意味着您可以创建如下内容:

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

…这将允许您扩展
DayPickerPagerAdapter
类,因为它是包私有的

但是,这并不能保证您能够以您想要的方式成功地操作组件的内部,因为大部分功能可能是私有的,这意味着您运气不佳


当然,您也可以按照您的建议复制这些组件的源代码。这是完全合法的,因为整个Android项目都是开源的(Apache 2.0许可)。这样做的缺点是必须定期检查上游的更新和错误修复,并且必须将它们重新集成到自定义组件中。

谢谢您的快速回复,Dmitry。我将尝试将扩展类放在同一个包中,并向您通报这一过程。如果这不起作用,我不确定复制源代码是否值得,原因是您指出的。。。