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 に答える