oco*_*odo 83
import your.app.package.R;
Run Code Online (Sandbox Code Playgroud)
当然,替换your.app.package你的应用程序包.
在所有利用R资源引用的类,删除任何其他import用.R,即import android.R;
Ola*_*che 50
TL; DR,如果您收到错误"包R不存在",可能的原因是
R包(请参阅package
AndroidManifest.xml中的属性)R类,例如import com.example.android.R;package com.example.android;<manifest xmlns:android="..." package="com.example.android" ...>,如果这是合适的Rids来自系统资源android.R,但是使用违规ID 作为前缀android.,例如,android.R.layout.simple_list_item_2android.R而不是前缀ids,但是您不能再导入应用程序R类,并且必须在应用程序ID前加上,例如com.example.android.R.id.main_menu.该R 班是从应用程序的资源自动生成.它包含id这些资源的s,并包含在<manifest>
相应AndroidManifest.xml文件的标记中指定的包中
.
如果资源XML文件中没有错误,则R.java源将在下面的包子目录中生成gen/并编译.
包中还有另一个R类android.此类android.R包含一些嵌套类,这些类又包含系统资源的ids和其他值.
要在Java中使用类,必须使用整个包命名该类,例如
java.util.List<Object> list = new java.util.ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)
或者导入该类,然后在没有包的情况下使用它
import java.util.List;
import java.util.ArrayList;
List<Object> list = new ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)
如果当前类和使用的类都在同一个包中,您也可以在不命名包的情况下使用类,例如
package com.example.android;
public class A {
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
package com.example.android;
public class B {
public void useA() {
A a = new A();
}
}
Run Code Online (Sandbox Code Playgroud)
J. *_*aes 22
永远不要尝试自己写R课程!
您是否在文件中导入了正确的R类?
干
import android.R;
Run Code Online (Sandbox Code Playgroud)
代替
import com.example.R;
Run Code Online (Sandbox Code Playgroud)
似乎是很多人的问题.清理和建造后,我的课程有时会导入错误的课程.
Mil*_*lon 12
如果你在android studio中开发并重构了包名,那么你应该在android manifest和app gradle文件中更改包名.
applicationId "change here your package name"
Run Code Online (Sandbox Code Playgroud)
并在清单文件中
package="change here your package name"
Run Code Online (Sandbox Code Playgroud)
R.java是一个自动生成的文件,如果你在xml文件中有错误,它通常不会被编译.
否您无法编写自己的R.java文件,它必须由资源编译器生成.
检查所有xml文件中的错误.
我想它曾经可以工作,但现在却不行。
如果您在MANIFEST文件中更改PACKAGE名称,可能会发生这种情况
<manifest
package="com.example.android...."
Run Code Online (Sandbox Code Playgroud)
如果要更改软件包名称
| 归档时间: |
|
| 查看次数: |
169824 次 |
| 最近记录: |