从库类访问主项目类

ssu*_*z28 5 eclipse android

我有一个使用库项目的Android项目(我构建了所有这些项目).我正在使用ADT/SDK v14,我需要访问主项目中的主类,并在解除库项目中的对话框时调用函数.现在,如果我将对我的主项目的引用添加到库项目中,我可以这样做,但这并不理想.如何从库项目中的类获取主项目中的类的引用?

这是它的工作方式:

  • 我的项目中的主要课程是tabhost
  • tabhost从库项目中获取选项卡的片段
  • 选项卡的一个片段启动DialogFragment
  • 当DialogFragment被取消时,我需要在主类中调用fillItems()函数(这是我被困的地方)

有人有主意吗?

谢谢,艾德

Com*_*are 5

如何从库项目中的类获取主项目中的类的引用?

理想情况下,你没有.

相反,你:

  1. 在库中定义一个接口,该接口包含要调用的方法,其实现来自主项目
  2. 在主项目中的某些可能类上实现该接口
  3. 通过某些setter或构造函数参数将该实现提供给库
  4. 让库根据需要调用接口实现上的方法
  5. 通过完成所有这些操作,确保您没有引入任何类型的垃圾收集问题

字面上"从库项目中的类中获取对我的主项目中的类的引用"的唯一方法是通过反射,这很慢并且使得难以维护的代码.