首次将当前值设置为EditTextPreference

时间:2015-03-20 11:21:35

标签: android android-fragments preferencefragment

我正在开发一个Android应用程序,我正在使用Preference Fragment。在该Preference(For Settings)片段中,我有两个EditTextPreference来更改名字和姓氏。我需要的是,当我第一次加载首选项片段时,我想显示EditTextPreference的当前firstname和lastname,以便用户可以查看它们当前的firstname和lastname,并且可以根据它进行相应的更改。

1 个答案:

答案 0 :(得分:1)

当您在xml文件中创建edittext首选项时,您可以设置默认值和摘要。

<EditTextPreference
             ....
             android:key="key_firstname"
             android:defaultValue="Lincy"
             android:summary="Lincy"/>   

您可以为名字和姓氏edittext首选项设置此项。它会在您第一次加载首选项活动时显示值。

现在,您可以在首选项片段中使用以下代码,这样每当您更新edittext首选项值时,它将始终显示摘要中的最新值。

EditTextPreference firstname =  (EditTextPreference) findPreference("key_firstname");
firstname .setSummary(sharedPreferences.getString("key_firstname","Lincy"));

EditTextPreference lastname=  (EditTextPreference) findPreference("key_lastname");
lastname.setSummary(sharedPreferences.getString("key_lastname","Laiju"));

设置edittext首选项的值使用以下代码。

SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit();
editor.putString("key_firstname","userfirstname"); // You can pass you username value here
editor.putString("key_lastname","userlastname"); // You can pass you username value here
editor.commit();