首先,我必须说我只是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>
答案 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
并清理项目。完成后,将该构建版本更改为之前的版本。这个对我有用。