在添加新的布局XML文件后,我遇到了多次解析R的问题。我使用Eclipse和API 8.有时它会在我“清理”项目后关闭,或者关闭然后重新打开项目。我试图添加“import android.R”,但它没有帮助。有人说这是因为一些布局XML文件有错误,但文件看起来对我来说。
这是一个XML文件res/layout/status.xml
,我遇到了以下问题:
<?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">
<Button android:text="Button" android:id="@+id/button_tmp" android:layout_height="wrap_content" android:layout_width="wrap_content"></Button>
</LinearLayout>
以下是我如何使用它:
public class StatusActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.status);
}
}
另外一件事,这个XML文件在Eclipse的“Package Explore”面板中有一个问号,但main.xml
有一个不同的图标。我现在只有两个布局XML文件。
我是否需要在Eclipse中做一些特殊的事情来添加新的布局XML文件?
感谢您的帮助!
在“Package Explore”面板中更新图标的屏幕截图:
答案 0 :(得分:1)
终于明白了。布局XML文件没有任何问题。问题是StatusActivity
类不在顶级包中,但自动生成的R类位于顶级包中。所以在Status.java
中,我需要导入它,但是在主要活动类中,它在顶层包中,我没有。这就是为什么main.xml
有效,但status.xml
没有。
对于不同的图标,它表示该文件是否由SCM系统管理。由于status.xml
是新的,因此它有一个问号。
答案 1 :(得分:0)
单击包浏览器中的并尝试F5刷新键 - 忘记谁首先建议但是它重启eclipse!
答案 2 :(得分:0)
尝试在LinearLayout中更改以下内容。
android:layout_width="fill_parent"
android:layout_height="fill_parent"
答案 3 :(得分:0)
您此时正在测试Project > Clean
吗?
有时您应该清理项目以重建R
文件。