Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.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 如何向现有类添加功能?_Android_Android Custom View - Fatal编程技术网

Android 如何向现有类添加功能?

Android 如何向现有类添加功能?,android,android-custom-view,Android,Android Custom View,目前,我正在开发一个android库。基本上,我们的想法是为现有的任何android小部件添加一些功能。该库用于创建复合视图,用户应该能够将每个现有的android小部件/视图转换为一个复合视图,其中包含一些我想要动态添加的附加功能 这些视图中的每一个都应该仍然可以在XML文件中使用,这意味着我不能太多地更改构造函数 另一个要求是,我需要一个选项,让用户为视图提供一些类。我的意思是,创建的复合视图将有一个名为viewStore的公共变量。您的viewStore类型要么是用户对viewStore界

目前,我正在开发一个android库。基本上,我们的想法是为现有的任何android小部件添加一些功能。该库用于创建复合视图,用户应该能够将每个现有的android小部件/视图转换为一个复合视图,其中包含一些我想要动态添加的附加功能

这些视图中的每一个都应该仍然可以在XML文件中使用,这意味着我不能太多地更改构造函数

另一个要求是,我需要一个选项,让用户为视图提供一些类。我的意思是,创建的复合视图将有一个名为viewStore的公共变量。您的viewStore类型要么是用户对viewStore界面的实现(首选方式,但我非常确定这将需要代码生成,如下文所述),要么通过泛型提供

最后,复合视图的文件夹结构如下所示:

  • MyView文件夹
    • MyView扩展CoolViewWithViewStore扩展AndroidWidgetChooseByUser

    • MyViewStore使用实现ViewStore您可以使用新功能扩展类,而不必从类继承。

      嘿,谢谢您的回答,但是如果扩展函数正确,您可以使用getter和方法添加变量,但不能使用backing fields添加变量。扩展属性不能有支持字段@MaxGierlachowski