添加新布局XML文件后无法解析R.

时间:2011-05-21 06:51:46

标签: android layout

在添加新的布局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”面板中更新图标的屏幕截图:

enter image description here

4 个答案:

答案 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文件。