0

我们如何使用首选项将用户输入存储在 EditTextPreference 框中并检索它以供以后使用。

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

这是我的代码。但它不断崩溃说preferenceScreen 不能转换为editTextPreference。有任何想法吗?

谢谢。!

日志猫:

 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
4

1 回答 1

1

本文所述,如果您需要字符串值,则必须使用 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

}
于 2013-07-19T21:21:21.927 回答