R文件没有创建新的ID代码

时间:2014-01-04 19:52:59

标签: android

首先,我必须说我只是Android编程的初学者,我可能无法正确理解事物。 ^^

其次,我的问题是R文件(创建对象的不同ID的文件)刚刚停止创建新文件。

我注意到当我在main_layout上创建一个新的image_button时,当我试图在MainActivity上查找它时,它写道它不存在。

此外,只有在我修改了R文件(我不应该根据系统警告触摸)之后,我才能控制新ID。

在我的头脑中断了两天之后 - 我决定问你,

R档案:

public final class R {
    public static final class attr {
}

public static final class dimen {
    /*  Default screen margins, per the Android Design guidelines.

     Customize dimensions originally defined in res/values/dimens.xml (such as
     screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.

    */
    public static final int activity_horizontal_margin = 0x7F040000;
    public static final int activity_vertical_margin = 0x7F040001;
}

public static final class drawable {
    public static final int ic_launcher = 0x7F020000;
    public static final int loading_i = 0x7F020001;
}

public static final class id {
    public static final int action_settings = 0x7F080004;
    public static final int button1 = 0x7F080001;
    public static final int imbt = 0x7F080003;
    public static final int textView1 = 0x7F080000;
    public static final int tv1 = 0x7F080002;
}
public static final class layout {
    public static final int activity_main = 0x7F030000;
    public static final int firstpage = 0x7F030001;
    public static final int loading_screen = 0x7F030002;
}
public static final class menu {
    public static final int main = 0x7F070000;
}
public static final class string {
    public static final int action_settings = 0x7F050001;
    public static final int app_name = 0x7F050000;
    public static final int hello_world = 0x7F050002;
}

创建新对象:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ImageButton
    android:id="@+id/imgBtn1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"    />

</LinearLayout>

4 个答案:

答案 0 :(得分:1)

是的,你不应该直接编辑R文件。你遇到的问题很正常。它应该是文件不同步的原因。

希望你能解决它:

Option #1: Try to refresh whole project and 'Project -> build project'.

Option #2: If #1 doesn't work, hit 'Project - clean...', and then rebuild the project.

Option #3: Sometimes, #1 and #2 don't work. The last ultimate way,
which always works for me, is to delete the `gen` folder and rebuild the project.

答案 1 :(得分:1)

这是初学者面临的最常见问题之一;即使我也面对这个。 :)

最明显的解决方案是尝试清理和构建项目。有时候它有效,而且大部分时间都没有。

当清理和构建不起作用时,很可能您的代码中存在一些错误, XML文件中也存在错误。 Android工具有时不会显示哪个XML文件有错误,因此您需要手动打开每个文件并检查错误。修复错误后,您的R.java将自动构建。

我希望这会有所帮助.. :)

更新

这曾经发生过Eclipse和ADT插件。 Android Studio是救世主。如果你还没有开始使用它。

答案 2 :(得分:1)

确保

  

项目 - &gt;自动构建

如果已经检查过,请运行clean:

  

项目 - &gt;清洁

如果这不起作用,则很可能其中一个文件中存在错误,很可能是布局XML文件之一。检查问题视图:

  

窗口 - &gt;显示视图 - &gt;问题。

解决所有问题(您可以忽略警告)。

您的最后一招是删除R文件(先备份),然后重新构建(或清理)。

答案 3 :(得分:0)

清理项目并运行它:

Project ---&GT; Clean然后运行

请参阅堆叠溢出问题 Developing for Android in Eclipse: R.java not generating 。它为您提供了完美的解决方案......

更改build target version并清理项目。完成后,将该构建版本更改为之前的版本。这个对我有用。