如何使用自定义组件作为库Android

时间:2019-02-26 12:00:40

标签: android android-library custom-component

我正在开发应用程序,我对在列表上执行某些操作有特殊要求。我根据自己的需要制定了特定的自定义列表,而且效果很好。

现在我的应用程序结构具有相同的列表类型。因此,我必须在整个项目中管理相同的列表样式。由于需求类型相同,我几乎在每个活动中都有一些共同的功能要执行。

现在,由于我已经创建了整个List和List项目的Adapter,现在为了节省时间,我只想创建Library类型的东西。但是我不知道该怎么做。以下是我要从该库中实现的目标。

  • 我只想将数据源设置为将包含ListView,Item视图和Custom适配器的Library
  • 我想要回调,该回调将通知当前活动有关正在执行的操作。
  

所以即使我知道如何进行回调/接口和其他   东西,我只想知道我该如何制作包含   在我自己制作的Listview及其适配器上,该适配器仅提供回调   它对活动的作用。

注意:我知道我可以在Fragment中实现它,并在需要的地方使用fragment,但是对于干净的体系结构,我可以制作库吗?

请帮助我,告诉我该怎么做?

2 个答案:

答案 0 :(得分:1)

转到菜单并选择新模块,然后选择android库

将适配器和布局移至该模块,也不要忘记其他资产,类和接口(您需要的任何东西)。您可以复制粘贴以最大程度地减少重大更改,然后在添加库后将其删除。

如果您的适配器或其他任何东西需要任何依赖,则必须在库gradle中添加

现在转到您的应用程序Gradle,然后在其中添加模块

implementation project(':yourLibraryName')

答案 1 :(得分:1)

由于您需要在同一应用程序中使用,因此无需创建库。

  1. 对于布局,您可以为列表视图创建单独的布局, 您可以只将其包括在“活动”和“片段”布局中。
  2. 对于Adapter,您可以在Adapter类内部创建一个接口,也可以将其创建为单独的文件,然后将该接口实例添加到Adapter类的构造函数中。
  3. 在将要使用此列表和适配器的所有活动/片段中实现相同的接口,并在初始化时将接口的本地实例传递给Adapter构造函数。

在listview调用接口中的任何事件上,方法和控件都将传递给被调用的类或片段。