存储EditTextPreference Box中的用户输入

时间:2013-07-19 21:17:24

标签: android sharedpreferences edittextpreference

我们如何使用偏好设置在EditTextPreference Box中存储用户输入并将其检索以供稍后使用。

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.prefs);
this.editPreference = (EditTextPreference)getPreferenceScreen().findPreference("userPass");

这是我的代码。但它一直在崩溃说不能将preferenceScreen强制转换为editTextPreference。有什么想法吗?

感谢!

logcat的:

 07-19 17:14:23.028: E/AndroidRuntime(7032): FATAL EXCEPTION: main
07-19 17:14:23.028: E/AndroidRuntime(7032): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.contact/com.example.contact.PrefsActivity}: java.lang.ClassCastException: android.preference.PreferenceScreen cannot be cast to android.preference.EditTextPreference

1 个答案:

答案 0 :(得分:1)

如上所述in this artcle,如果需要字符串值,则必须使用EditTextPreference.getText()。toString()。然后,您可以根据需要将其保存到本地变量或数据库中。

修改

编写代码:

protected void onCreate(Bundle savedInstanceState){
     super.onCreate(savedInstanceState);
     addPreferencesFromResource(R.xml.prefs);
     String userPreference = this.editPreference.getText(); // variable set to String value of text entered in widget

}