所以我从Google的android网站上复制了这个教程示例,我得到一个错误,即R.id无法解析。
这是我的Java文件
package com.TestApp.HelloWebView;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
public class HelloWebView extends Activity {
WebView mWebView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.google.com");
}
}
这是我的res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<WebView android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
答案 0 :(得分:24)
你必须导入你的R类
import com.TestApp.HelloWebView.R;
同样,在发布需求时,您必须为布局使用命名空间。
?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
答案 1 :(得分:12)
我更新Android SDK时遇到了同样的问题。突然,新项目无法生成R.java文件。
我发现升级后,adb服务器无法正常启动。所以手动启动它:
$ cd $ANDROID_SDK/platform-tools
$ adb start-server
然后我重新启动了Eclipse并对项目进行了清理/构建,生成了R.java文件。
答案 2 :(得分:10)
如果使用Eclipse,请运行一个干净的构建(Project/Clean...
);这通常可以解决资源未正确编译的问题。
答案 3 :(得分:2)
您是否尝试过此处列出的任何解决方案? R cannot be resolved - Android error
另外,查找您的R.java文件。它有什么错误吗?
答案 4 :(得分:2)
我也有这个问题。我不能说一般的解决方案,但你可以创建一个新的工作场所并复制硬编码。在将来永远不要点击清理或构建,而是再次保存或启动eclipse。
答案 5 :(得分:1)
进入main.xml文件,删除一个字符并重写它。这将再次生成R文件。
答案 6 :(得分:1)
确保您没有名称中包含大写字母的任何xml文件。
我遇到了同样的问题。
res中的所有文件名(及其所有子文件夹,包括布局)必须仅为小写。这包括图像文件,xml文件等(即使它们未在项目中的任何位置引用。)
答案 7 :(得分:1)
在尝试Android初学者的tute(http://mobile.tutsplus.com/tutorials/android/android-sdk-development/)时,“R.id无法解决”错误让我感到难过。在我的例子中,它是一个android:onClick in /res/layout/main.xml。在AVD平台1.5 API级别3中似乎不支持onClick。
使用平台1.6 API更改新的AVD,级别6删除了错误 - 还从头开始使用新的api和级别设置启动项目。对于绝对的Eclipse新手(比如我自己),用:
创建一个新的AVD窗口 - &gt; Android SDK和AVD Manager - &gt;新。从“目标”下拉列表中选择平台,级别编号。
答案 8 :(得分:1)
还尝试删除~.android \ debug.keystore(发生在我身上,认为这是由于R.id问题)。真正的问题是debug.keystore超过一年!
答案 9 :(得分:1)
当我试图关注Lars Vogel的Android开发教程时遇到了这个问题......事实证明我的问题仅仅是因为我没有保存布局文件。保存文件后,它可以正常工作。
答案 10 :(得分:0)
如果你发布了你的main.xml文件,那就不对了。您必须编写xml命名空间:
的xmlns:机器人= “http://schemas.android.com/apk/res/android”
例如:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/label"
android:layout_width="78dip"
android:layout_height="65dip"
android:paddingTop="4dip"
android:textSize="12dip"
android:singleLine="true"
android:ellipsize="end"
android:textColor="@color/bright_text_dark_focused"
android:gravity="center_horizontal|center_vertical" />
答案 11 :(得分:0)
是的另一个修复 我启动了模拟器。通过运行helloandroid程序,编译。 离开了eclispe而又回来了,不知道哪一个解决了这个问题。
清理项目等并没有解决它 - 我可以有2小时的生命回来!
答案 12 :(得分:0)
import com.TestApp.R; R丢失后不被接受。
我的Eclipse现在每次“清理”时自动创建一个新的“res”文件夹。是的,我的项目文件夹下直接有两个名为“res”的文件夹。自动创建的是空的。仍然找到字符串值。 Eclipse报告没有“R无法解决”之外的其他错误。
答案 13 :(得分:0)
尤里卡!我设法将我的第一个android项目导入Eclipse!
之前我总是在项目的属性 - Java构建路径 - 库选项卡下找到“无法找到系统库”,一旦发生它就无法纠正它。结果是导入的任何内容都无法解决导入语句。
在这种情况下,我将JDK合规性级别从1.6改为1.5 BEFORE 我导入(之后为时已晚,无法修补)。它必须从Window - Preferences - Java - Compiler完成(之前我认为只有通过右键单击已导入的项目才能使用此选项)。然后右键单击每个项目并将Properties - Android设置为合适的Target(上面的错误,eclipse会忽略任何选择)。然后,我甚至可以改回JDK合规级别1.6。
因此,通常,在导入之前更改JDK合规性级别可能会有所帮助。
删除项目始终时,请在“是否确定”对话框中选中“删除磁盘上的项目内容(无法撤消)”复选框。否则无法重新导入项目,如果你第一次使用错误的JDK合规级别导入它,除了在另一个工作区中尝试之外,不可能纠正错误。
这是一个非常沮丧的Eclipse用户的经历。
答案 14 :(得分:0)
确保您的某个.xml文件中没有隐藏错误 有时您可以删除strings.xml文件中重要的语句。
例如,在Vogella示例中,我收到了错误:
错误:找不到与给定名称匹配的资源(在'title'处,值为'@ string / menu_settings')。
我删除了该行:
<string name="menu_settings">Settings</string>
将其放回或删除 res / menu / main.xml 可以解决错误。
答案 15 :(得分:-1)
我遇到了同样的问题但得到了修复
我不确切地知道这个问题将如何解决
试试,这可能会有所帮助
将此代码添加到您的代码顶部
import com.MyFirstApp.activities.R;
此处com.MyFirstApp.activties
是我的组件名称,将其替换为您的组件名称