android - 从库类访问主项目类

标签 android eclipse

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

它是这样工作的:

  • 我的项目中有一个主类,它是一个 tabhost
  • tabhost 从库项目中获取选项卡的 fragment
  • 选项卡的 fragment 之一启动 DialogFragment
  • 当 DialogFragment 被关闭时,我需要在主类中调用 fillItems() 函数(这是我卡住的地方)

有人有什么想法吗?

谢谢, 埃德

最佳答案

How do I get a reference to a class in my main project from a class in the library project?

理想情况下,您不需要。

相反,您:

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

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

关于android - 从库类访问主项目类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7957167/

相关文章:

android - 启动新 Activity 并清除除家庭 Activity 以外的先前 Activity

eclipse - “Copy projects into workspace”是什么意思?

java - Java 开发的最佳 Eclipse 版本

Eclipse Spring Tools 缺少内容辅助/自动完成

java - 如何在 Android Java 中单击按钮时从 MainActivity 以外的类调用函数

android - 在 Unity for Android 中确定 Admob SmartBanner 的实际高度

Android如何关注当前位置

android - 如何在 android TextView 中使深层链接字符串可点击

java - 如何以编程方式从 jar 文件中导入插件和片段

java - 无法在 Eclipse IDE 中下载 CrudRepository 源 - 未找到源