从不同的包访问 R.java

2022-09-03 16:48:02

我有一个应用程序分为子包,仅用于个人组织:

com.myname.myapp
 |
 `-  com.myname.myapp.activities
 |
 `-  com.myname.myapp.whatever
 |
 `-  ...

问题是生成的R.java位于,因此当我从子包中键入类时,我得到(很明显我猜)。com.myname.myappR.id.somethingcom.myname.myapp.activitiesR cannot be resolved to a variable

当我单击“组织导入”(Ctrl+Shift+O)时,Eclipse 将其固定在顶部,一切似乎都完美无缺。但另一方面,Android文档指出:import com.myname.myapp.R

Eclipse有时喜欢添加一个导入的机器人。使用资源的文件顶部的 R 语句,尤其是当您要求 eclipse 进行排序或以其他方式管理导入时。这将导致你的成就破裂。注意这些错误的导入语句并将其删除

知道一切都很完美,我该怎么办?


答案 1

您可以根据需要将R.file导入到任何位置。

import com.myname.myapp.R; 

或者像这样在变量中使用

com.myname.myapp.R.id.test

答案 2

R.java 始终在清单文件中提到的位置(包)处创建。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.myname.myapp"
      android:versionCode="1"
      android:versionName="1.0">

对于任何其他位置或包,必须从根位置导入 R.java 文件。

希望您理解这个问题。


推荐