2016-07-19 5 views
-1

EditTextの "ヒント"またはデフォルトのテキストをsharedpref文字列の値に設定できますか?私は3つのEditText、1つのボタンを、ボタンがクリックされたときに、3つの値がSharedPreferencesで後でアプリケーションに保存されています。現在のところ、ボタンをクリックすると、3つの編集テキストは入力された値にとどまりますが、アクティビティを終了して戻ると、すべて空白に戻ります。私は文字列のsharedprefの値になるようにそれらを設定する方法があるのだろうと思っています。何も保存されていなければ、それらをデフォルトに設定します。また、sharedpref Stringのデフォルト値を設定するにはどうすればよいですか?ありがとう!EditTextヒントを共有プリフォルトの既定値として使用しますか?

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); 
      SharedPreferences.Editor editor = pref.edit(); 
      if (mEditTextBench.getText().length() > 0 && mEditTextDead.getText().length() > 0 && mEditTextSquat.getText().length() > 0) { 
       editor.putString("maxDead", mEditTextDead.getText().toString()); 
       editor.putString("maxSquat", mEditTextSquat.getText().toString()); 
       editor.putString("maxBench", mEditTextBench.getText().toString()); 
       editor.apply(); 

これは、それが適切に保存されていることを確認するためにテストするために別のレイアウトでは私のコードです。(それはある)私は「ヌル」はいえ何をしているのか全くわかりません。だから誰もがそれで助けてくれれば感謝!

String maxDead = pref.getString("maxDead", null); 
    TextView textViewTest = (TextView) findViewById(R.id.textViewTest); 
    textViewTest.setText(maxDead); 

答えて

1

Doh !!理解した! onCreateにこれを追加しました:

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); 
    String maxDeadHint = pref.getString("maxDead", "100"); 
    mEditTextDead.setHint(maxDeadHint); 

私の悪い!ありがとう!あなたは適切な置換を行うと

1

、これは動作するはずです:

TextView deadText = (TextView) findViewById(R.id.//insert id//); 
TextView squatText = (TextView) findViewById(R.id.//insert id//); 
TextView benchText = (TextView) findViewById(R.id.//insert id//); 

deadText.setHint(pref.getString("maxDead", "default_value")); 
squatText.setHint(pref.getString("maxSquat", "default_value")); 
benchText.setHint(pref.getString("maxBench", "default_value")); 
関連する問題