我在偏好.xml中有这个
        <RingtonePreference android:key="ringtone_uri"
            android:title="@string/preferences_select_ringtone"
            android:showDefault="true" android:srinlent="true"
            android:summary="@string/preferences_select_ringtone_summary" />
每当我第一次开始全新安装应用程序时,默认值为静音:(当我点击铃声首选项时,对话框打开时默认选择静音.我希望默认选择"默认铃声".我怎样才能做到这一点

如何将默认值设置为"默认铃声"而不是静音,我不知道为什么这个默认为我的默认我不设置在我的代码中的任何地方,默认是来自android系统的默认值...
我正在写一个应用程序.它需要在旧的Android操作系统上运行才有用.我使用PreferencesActivity编写了首选项屏幕,该PreferencesActivity填充了包含PreferenceScreen的options.xml文件.它没有偏好子菜单(因此PreferenceFragment没有提供真正的好处).
在Android 2.1(2.2和2.3,尚未在ICS上测试过)中,屏幕在横向上显示如下:

但是在Jellybean上,它看起来像这样:

看起来很糟糕.我没有定义任何布局,只是标准的addPreferencesFromResource().有谁知道这可能是什么原因?还是解决方案?
我的onCreate看起来像这样:
    protected void onCreate(Bundle savedInstanceState) { //
    super.onCreate(savedInstanceState);
    Log.i(TAG, "Options Activity Loaded.");
    setTitle(getString(R.string.optionsTitle));
    addPreferencesFromResource(R.xml.options);
    setupListeners();
}
其他所有内容只会生成Preference对象,并指定方法在单击时执行操作.我不想为PreferenceFragment和PreferenceActivity创建代码.我不明白,如果最大版本的市场份额没有该API,谷歌希望我们使用Fragment API,他们不会将它添加到兼容性库中.
我创建了一个Custom SeekBarPreference,它显示了一个从中选择的时间范围(例如0.2秒到2.2秒).我的问题是onProgressChanged()被调用两次 - 一次用progress = 0,第二次用progress = "actual value".我将值存储在a中,SharedPreference以便稍后在我的应用程序中使用它.
这是我的代码片段 - 
@Override
protected View onCreateDialogView() {
    LayoutInflater inflator = ((PreferenceActivity) mContext)
            .getLayoutInflater();
    View view = inflator.inflate(R.layout.seek_bar, null);
    mCurrentValue = PreferenceManager.getDefaultSharedPreferences(mContext)
            .getFloat(this.getKey(), mDefaultValue);
    ......
    SeekBar mSeekBar = (SeekBar) view.findViewById(R.id.seekbar);
    mSeekBar.setOnSeekBarChangeListener(this);
    mSeekBar.setMax(20);
    mSeekBar.setProgress((int) ((mCurrentValue - mMinValue)
            / (mMaxValue - mMinValue) * 20)); // 20 = progress bar max value.
    return view;
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
        boolean fromUser) …在上一个问题中,我了解了首选项API.不幸的是,它似乎只是用户特定的偏好.我也有需要能够跨用户设置的首选项.在Java中,与平台无关的方法是什么?
编辑:
下面的信息很好,但是自从实施以来我遇到了麻烦...首先在我的开发盒上测试(Win 7,UAC关闭),它工作正常.在我的第一个测试虚拟机上尝试它并且它失败了...在UAC上的Win 7上,写入失败(我可以写一个写入后跟一个读取而不是得到我刚刚放入的值).
我希望有一个EditTextPreference,如果EditText字段中没有文本,它将禁用OK按钮.我创建了一个自定义的EditTextPreference类,我可以获取EditText对象并设置TextWatcher,但我找不到禁用该按钮的方法.看起来我只是无法访问对话框中的"确定"和"取消"按钮.
任何人都知道如何获得这些按钮或做我想做的事情?
只有其他选择是尝试从头开始创建一个看起来像模仿EditTextPreference的自定义Dialog.
在我的应用程序中,我使用PreferenceFragment在平板电脑和智能手机上创建一个不错的应用程序.
所以,在我的主要活动中,我使用:
@Override
public void onBuildHeaders(List<Header> target) {
    loadHeadersFromResource(R.xml.preference_headers, target);
}
我的xml文件如下所示:
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
    <header android:fragment="tof.cv.mpp.view.StockPreferenceFragment"
        android:title="@string/btn_home_settings" android:summary="">
        <extra android:name="resource" android:value="activity_preferences" />
    </header>
    <header android:fragment="tof.cv.mpp.view.StockPreferenceFragment"
        android:title="@string/btn_home_planner" android:summary="">
        <extra android:name="resource" android:value="activity_planner_preferences" />
    </header>
    <header android:fragment="tof.cv.mpp.view.StockPreferenceFragment"
        android:title="@string/btn_home_twitter" android:summary="">
        <extra android:name="resource" android:value="activity_twitter_preferences" />
    </header>
</preference-headers>
问题是,我现在想要使用OnSharedPreferenceChangeListener来更新我的一些偏好的摘要.
我用:
@Override
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
            String key) {
        Log.i("", "PREFChanged "+getActivity());
        if (key.contentEquals("prefPseudo")) {
            Log.i("", "PseudoChanged");
            Preference pref = findPreference("prefPseudo");
            pref.setSummary(((EditTextPreference) pref).getText());
        }
        if (key.contentEquals(getString(R.string.key_activity))) {
            Log.i("", "FirstChanged");
            Preference pref = findPreference(getString(R.string.key_activity));
            pref.setSummary(((ListPreference) pref).getEntry());
        }
        if …在尝试在Eclipse中构建我的应用程序时,我遇到了这些错误.当编译器警告我我的.project文件丢失时,事情开始走下坡路.
然后我尝试修复项目,现在遇到这些错误:
构建期间发生错误.在项目'net.learn2develop.Layouts.LayoutsActivity'上运行构建器'Android Resource Manager'的错误.首选项节点"org.eclipse.jdt.core"已被删除.在项目net.learn2develop.Layouts.LayoutsActivity'上运行构建器"Android Pre Compiler"的错误.路径必须包含项目和资源名称:/net.learn2develop.Layouts.LayoutsActivity错误在项目'net.learn2develop.Layouts.LayoutsActivity'上运行构建器'Java Builder'.首选项节点"org.eclipse.jdt.core"已被删除.
我的项目顶部只有一个红色x,但项目中没有任何单个文件.
有关如何重新创建.project文件或解决这些Preference节点错误的任何建议?
我是Android/Eclipse的新手,所以细节会有所帮助.
谢谢
我只是很好奇,这两个功能会做同样的事情.但是我应该使用哪一个?
let f a =
    match a with
        b -> a;; 
let f a =
    match a with
        b -> b;;
或者它只取决于您的偏好?
我觉得第二个会更好,但我不确定.
performance ocaml functional-programming pattern-matching preference
如何彻底改变我的偏好活动背景的颜色?请看我的截图.在平板电脑上,窗口背景和列表视图背景周围有一些白色边框.我无法弄清楚如何改变它的颜色/可绘制.我只需要让它变得透明.
这就是我实现截图的方式.此代码放在PreferenceActivity的onCreate中.
this.getListView().setBackgroundDrawable(this.getResources().getDrawable(R.drawable.splash_bg));
this.getWindow().setBackgroundDrawable(this.getResources().getDrawable(R.drawable.splash_bg));
希望我不必进入任何样式,为了简单起见,我可以在代码中访问它.

这是我的第一个基于 cordova 的 iOS 应用程序(使用 cordova 4.1.2)。
<preference name="BackupWebStorage" value="none" />我想通过设置来停用备份到云的网络存储 
/Staging/config.xml。
但是,执行此操作后,cordova build首选项将重置为其默认值“云”。
config.xml因此,我尝试在位于项目根目录的文件中设置首选项。但这只是添加了第二个 BackupWebStorage 首选项(正确设置为“无”),但并没有替换生成的首选项,其中/Staging/config.xml仍设置为“云”。因此两个 BackupWebStorage 首选项位于同一文件中 - 不好。
在网上搜索后,我发现file.setMetadata设置com.apple.MobileBackup为 1 会停用其所需的每个单独文件的云备份。也许这就是要走的路。
但我仍然想知道,是否有一种持久的方法可以将 BackupWebStorage 首选项设置为“无”,以便在重建后不会将其重置为“云”。
感谢您的帮助!