1

我似乎是在互联网上唯一的人谁不明白这一点,但是当我使用Android的默认首XML文件格式

PreferenceManager.setDefaultValues(this, R.xml.preference, false); 

什么是XML文件的默认设置语法。我只是想将两个偏好设置为true。

我已经尝试了正常的android字符串资源格式,但似乎没有任何工作。提前致谢。

回答

1

你是不是谁不知道这一点的唯一的人。即使我正在努力知道XML的文件格式。最后我找到了答案!你走了!

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > 
    <EditTextPreference android:key="CLIENT_HOMESCREEN_TITLE" 
       android:defaultValue="Home Screen"/> 
    <EditTextPreference android:key="CLIENT_ADMIN_BUTTON" 
       android:defaultValue="Admin"/> 
    <EditTextPreference android:key="CLIENT_PLAYER_BUTTON" 
       android:defaultValue="Player"/> 
    <EditTextPreference android:key="CLIENT_SAVE_BUTTON" 
       android:defaultValue="Save"/> 
    <EditTextPreference android:key="CLIENT_CANCEL_BUTTON" 
       android:defaultValue="Cancel"/> 
    <EditTextPreference android:key="CLIENT_SERVER_SETUP_IP" 
       android:defaultValue="IP:"/> 
    <EditTextPreference android:key="CLIENT_SERVER_SETUP_PORT" 
       android:defaultValue="Port:"/> 
    <EditTextPreference android:key="CLIENT_SERVER_SETUP_TITLE" 
       android:defaultValue="Server Setup"/> 
</PreferenceScreen> 
+0

我忘了我最终做了什么,我现在还没有处理它,但是如果这是xml,谢谢,这对我将来肯定会有帮助。 –

+0

欢迎您! – Sathish

0

XML文件的默认设置的语法是什么。我只是想将两个偏好设置为true。

对于这个刚刚成立默认值true

无论默认值,你优先xml文件已经提供,将被设置。

+0

我可以在我的主要活动开始检查这些设置被分配,如果没有,将它们设置为默认值,但Android提供PreferenceManager.setDefaultValues使这个更容易维护,少一个巨大的疼痛为更多的设置。当我第一次在Android上打开Skype时,它已经预设了所有设置,并且我必须假定这是通过PreferenceManager.setDefaultValues完成的,而不是200行检查是否先前设置了首选项。 –

+0

这就是为什么这种方法可用:) – Sandy

3

使用android:defaultValue像这样:

<CheckBoxPreference 
     android:key="my_pref" 
     android:defaultValue="true" 
     android:title="@string/pref_title_my_pref" 
     android:summary="@string/pref_summary_my_pref"/> 
+0

这个问题是,如果我不先到设置页面,我的偏好设置将不会被设置为默认。 android文档说,如果您需要设置默认首选项,请在主Activity的onCreate中使用PreferenceManager.setDefaultValues 。问题是我不知道这个函数的xml文件应该如何构造...... –

+0

如果你的偏好存储在例如'res/xml/settings.xml'然后你所要做的就是调用[setDefaultValues](http://developer.android.com/reference/android/preference/PreferenceManager.html#setDefaultValues%28android.content.Context,% 20int,%20boolean%29)与主活动的onCreate方法中的R.xml.settings相关联。 – devconsole

+0

您可能还想为_readAgain_参数指定true,否则默认值仅设置一次,而您没有获得新引入的首选项键的默认值。该实现记得它已经在一个私有设置密钥中设置了默认值。 – devconsole