R.id无法解决

所以我复制这个教程示例的东西从谷歌的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"/> 

Solutions Collecting From Web of "R.id无法解决"

你必须导入你的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"/> 

我更新Android SDK时遇到同样的问题。 突然新的项目不能生成R.java文件。

  • 导入我的R.java没有帮助,因为它没有生成
  • 清理和build设项目也没有帮助 – / gen文件夹仍然是空的。

我发现升级后,adb服务器没有正常启动。 所以手动启动它:

 $ cd $ANDROID_SDK/platform-tools $ adb start-server 

然后我重新启动了Eclipse,并对生成R.java文件的项目进行了清理/构build。

如果使用Eclipse,请运行一个干净的版本( Project/Clean... ); 这通常可以清除资源未被正确编译的问题。

你有没有尝试过这里列出的解决scheme? R无法解决 – Android错误

另外,请查找您的R.java文件。 有没有什么错误呢?

我也有这个问题。 一般来说,我不能说一个解决scheme,但是你可以创build一个新的工作场所并复制硬编码。 在将来永远不要点击干净或构build,而是保存或再次启动eclipse。

进入你的main.xml文件,删除一个字符并重写它。 这将再次生成R文件。

在尝试一个Android初学者的tute(http://mobile.tutsplus.com/tutorials/android/android-sdk-development/)“R.id无法解决”的错误让我也难住了&#x3002; 在我的情况下,这是一个android:onClick /res/layout/main.xml。 AVD平台1.5 API级别3不支持onClick。

一个新的平台1.6 API,6级的AVD的变化消除了错误 – 也从头开始用新的API和水平设置的项目。 对于绝对的Eclipse新手(像我自己)创build一个新的AVD:

窗口 – > Android SDK和AVDpipe理器 – >新build。 从“目标”下拉列表中select平台,级别号码。

也请尝试删除〜.android \ debug.keystore(发生在我身上,认为是由于R.id问题)。 真正的问题是debug.keystore比一年还旧!

我遇到了这个问题,当我试图按照Lars Vogel的Android开发教程…原来我的问题是因为我没有保存布局文件。 一旦我保存文件,它工作正常。

确保你的名字中没有任何带有大写字母的xml文件。

我有同样的问题。

res(及其所有子文件夹包括布局)中的所有文件名都只能是小写。 这包括图像文件,xml文件等(即使它们在项目中的任何地方都没有被引用)。

如果你发布了完整的main.xml文件,那就不对了。 你必须写一个名字空间的XML:

的xmlns:机器人= “http://schemas.android.com/apk/res/android&#x201D;

例如:

 <?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" /> 

是的另一个解决scheme,我开始模拟器。 通过运行helloandroid程序,它编译。 然后走出来,回到了不知道哪一个固定的问题..

清理项目等没有解决 – 我可以有2个小时的生活回来!

import com.TestApp.R; 一旦R丢失,不会被接受。

我的Eclipse现在自动创build一个新的“res”文件夹,每次我“干净”。 是的,我的项目文件夹下面有两个名为“res”的文件夹。 自动创build的是空的。 string值仍然被发现。 Eclipse没有报告“R无法解决”以外的其他错误。

find了! 我设法使我的第一个Android项目导入到Eclipse!

之前,我总是在项目的Properties – Java build path – Libraries选项卡下find“Unable to find system library”,一旦发生,就不可能纠正它。 结果是,没有任何import报表可以通过导入的任何东西来解决。

在这种情况下,我导入之前将JDK合规性级别从1.6更改为1.5(之后为时已晚,无法修复)。 它必须从Window – Preferences – Java – Compiler完成(早些时候我以为这个选项只能通过右击已经导入的项目才能使用)。 然后右键单击每个项目并将Properties – Android设置为合适的Target(上面的错误,eclipse忽略任何select)。 然后,我甚至可以回到JDK合规性级别1.6。

所以,一般来说,在导入之前更改JDK合规性级别可能会有所帮助。

当删除一个项目时,请务必勾选“确定”对话框中的“删除磁盘上的项目内容(无法撤消)”checkbox。 否则,不可能重新导入项目,o如果您第一次导入错误的JDK合规性级别,则不可能纠正错误,而不是在另一个工作区中尝试。

这些是一个非常沮丧的Eclipse用户的经验。

确保您的某个.xml文件中没有隐藏的错误。
有时候可以删除strings.xml文件中的一个重要的语句。

例如,在Vogella的例子中,我得到了错误:

错误:找不到与给定名称相匹配的资源(位于'title',值为'@ string / menu_settings')。

我删除了这一行:

 <string name="menu_settings">Settings</string> 

把它放回去或者删除res / menu / main.xml将会解决这个错误。

我有同样的问题,但得到修复

我不知道如何解决这个问题

试试吧,这可能会有所帮助

将此代码添加到您的代码顶部

 import com.MyFirstApp.activities.R; 

这里com.MyFirstApp.activties是我的组件名称replace它与您的组件名称