1

在使用 Dot42 时,我似乎可以访问 PreferenceActivity 类的 AddPreferencesFromResource(int) 但传递给此方法的资源对我不可用。我希望调用看起来像 AddPreferencesFromResource(R.Xmls.Preferences),但是 R.Xmls 不存在。xml 文件夹包含preferences.xml 并存储在布局、菜单等资源文件夹旁边。但是生成的 R.cs 不包含 Xmls 的类。包含的示例项目没有任何使用 PreferenceActivity 的示例。谁能确认 Dot42 是否支持首选项?

4

1 回答 1

1

您的问题可能不是如何从 XML 填充首选项片段,而是更多如何将 XML 资源添加到 dot42 项目以及如何引用它。

您可以像往常一样通过将 XML 文件添加到 Visual Studio (dot42) 项目来添加 XML 资源;这与将 XML 文件添加到非 dot42 项目没有什么不同。接下来,转到文件的属性并将 BuildAction 设置为 XmlResource。

在此处输入图像描述

请注意,dot42 没有文件夹结构要求(例如 /res/xml/)。

现在再次编译并键入“R”。你会看到 R.Xmls 带来的智能。

在此处输入图像描述

如果您查看 R.cs(在 Properties 下),您会看到它现在包含 R.Xmls 以及为您的 XML 资源生成的成员:

//------------------------------------------------------------------------------
// This file is automatically generated by dot42
//------------------------------------------------------------------------------

namespace PreferenceFragmentSample
{
    using System;

    public sealed class R
    {
        public sealed class Layouts
        {
            public const int MainLayout = 0x7f020000;
        }

        public sealed class Xmls
        {
            public const int preferences = 0x7f030000;
        }
    }
}
于 2013-10-04T16:07:00.680 回答