2016-12-09 7 views
0

EditTextPreferenceから入力を取得したときに「デフォルト」の文字列が表示され続ける理由を理解できないようです。EditTextPreferenceを読む

<EditTextPreference 
     android:title="@string/settings_title_signature" 
     android:summary="@string/settings_enter_signature" 
     android:singleLine="true" 
     android:key="edit_signature_key" 
/> 

私は、テキストフィールドにSharedpreferencesを使用しているものは得られません。単に「デフォルト」に設定され、キーには何が含まれている必要はありません。

SharedPreferences myPreference = PreferenceManager.getDefaultSharedPreferences(this); 
String sig = myPreference.getString("edit_signature_key", "default"); 
+0

(私は十分に担当者を持っていないので、代わりにコメントの答えとしてこれを入れていました) -preference-summary/ –

答えて

0

プリファレンス画面またはプリファレンス・フラグメント内でEditTextPreferenceを使用していることを確認してください。スタンドアロンのEditTextPreferenceを使用しているような感じです。

右のコンテナで使用している場合は、あなたのコードをすべて投稿してください。私は助けてくれるでしょう。

がgoがこのさえそのビットold-> https://androidpartaker.wordpress.com/tag/edittext考え

+0

あなたの提案のおかげで、ありがとう。 git-hub上の大きなリポジトリの一部を変更していますが、ここでコード全体を入れすぎるかもしれません。 共有設定を次のように書き直しました。 SharedPreferences myPreference = this.getSharedPreferences( "edit_signature_key"、Context.MODE_PRIVATE); しかし、同じ問題がまだ残っています。 –

+0

問題はありません。 PreferenceScreenまたはPreferenceFragmentを使用している場合は、デフォルトの環境設定が書き込まれます。そのため、問題のある場所ではありません。あなたの更新メソッドが正しく設定されていない場合は、onCreatePreferencesメソッドのように環境設定が設定されている場合は、onSharedPreferenceChanged(sharedPrefs、getString(R.string.editKey));あなたの文字列に edit_signature_key