【问题标题】:How to Access my App's R.java file through My SDK library file?如何通过我的 SDK 库文件访问我的应用程序的 R.java 文件?
【发布时间】:2017-10-26 05:27:41
【问题描述】:

我有一个应用程序和 sdk,我的 sdk 想要访问我的应用程序的 R.java 文件(因为我需要一些视图 ID)。当我尝试导入我的 应用程序包名称以及 R,就像这个 import com.packagename.R;its 不接受这一行,它的显示像 UNUSED 但我尝试使用 findviewbyid 获取值。 是否可以从 SDK 类文件访问我的应用程序的 R.java 文件? 指导我

Import packagename.R;
.
.

EditText editText = (EditText) findViewById(ID);

【问题讨论】:

  • 否,否则应用程序必须将其资源提供给 SDK。更好的方法是使用 Resourses 的初始 sdk
  • 好的,谢谢,我的 sdk 没有资源。 .需要访问App资源@Godwin

标签: android sdk r.java-file


【解决方案1】:

您需要将活动视图和组件 ID 传递给您的 SDK。 在您的 SDK 中:

public void initUI(View view, int editTextID) {
    EditText editText = (EditText) view.findViewById(editTextID);
}

你无法获取应用层 uı 组件 id,因为这样想,可能有很多项目使用你的 SDK。所有项目都可以使用具有不同组件 ID 的不同组件。所以在开发的时候,是无法到达应用层的R文件的。

PS:在使用 SDK 中的组件之前,您应该进行 null 检查。

【讨论】:

  • 是的,不同的组件 ID,但我们可以通过 R.java 文件访问以获取所有 ID,对吗?这里我不知道 View 部分那么如何将视图作为参数传递?
  • 在您的 SDK 项目中创建一个类似 initUI 的函数。从应用程序项目中调用此函数。例如:yoursdkobject.initUI(getView(), R.id.my_edit_text);
  • 不,它不工作,没有得到这个 initUI 方法
猜你喜欢
  • 2020-03-26
  • 2013-01-28
  • 2020-03-31
  • 1970-01-01
  • 1970-01-01
  • 2019-02-07
  • 2021-06-23
  • 2023-03-22
  • 1970-01-01
相关资源
最近更新 更多