无法找到R.xml.preferences?

时间:2012-04-11 02:16:41

标签: android android-layout

我正在尝试为Android应用设置一些简单的首选项,但无法解决此错误:“xml无法解析或不是字段。”我已经清理,刷新,重启日食,并跳过跳汰机 - 但我不能动摇错误。我做错了什么?

preferences.xml文件:

<?xml version="1.0" encoding="utf-8"?>

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

    <PreferenceCategory
        android:title="Dev options">

        <CheckBoxPreference
            android:key="devtools"
            android:title="Enable clearing user"
            android:summary="Enable clearing user" />

    </PreferenceCategory>

</PreferenceScreen>

java类文件:

package com.myapp.prototype;

import android.os.Bundle;
import android.preference.PreferenceFragment;

public class GCPreferencesActivity extends PreferenceFragment {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Load preferences from XML resource
        addPreferencesFromResource(R.xml.preferences);    // error on this line ??
    }
}

感谢您的帮助。

6 个答案:

答案 0 :(得分:15)

我认为你错过了一次导入(正如文森特在评论中所说)。你应该添加:

import com.myapp.prototype.R;

如果您输入代码,也会出现错误:

import android.R;

这令人困惑,因为R已经解析但没有您在XML文件中定义的属性(当然,它不是好的R!)。

答案 1 :(得分:4)

您的res/目录中必须有一个名为res/xml的文件夹,其中包含.xml个文件。

答案 2 :(得分:0)

对于未来的访客: 我有同样的问题。我从lynda.com看到的一个视频说,如果我们没有文件名,那么将使用文件name.xml创建文件夹XML。但它的确是按照解释的方式发生的。我不得不在“RES”文件夹下手动创建一个名为“XML”的文件夹,并在其下拖动该xml文件,错误消失。

答案 3 :(得分:0)

我遇到了问题,因为我从另一个项目中复制/粘贴了xml。使用File =&gt; new =&gt; Android xml在项目中创建xml,然后将xml代码从其他项目复制粘贴到刚刚创建的xml中。

答案 4 :(得分:0)

这是一个老问题,但我的回答对未来的观众有帮助。我遇到了同样的问题,因为我导入了一个错误的R类:

import android.R

您必须导入自己项目生成的R类:

import your.full.package.name.R

当然,您需要在项目中使用res / xml / preferences.xml文件。

答案 5 :(得分:0)

好吧,对于那些即使在导入您自己的资源文件后仍然出现此错误的人,在我的情况下,我只是将我的项目与Gradle Files同步,它自动解决了该问题。

在Android Studio中点击

文件->使用成绩文件同步项目

希望有帮助!