2012-04-01 5 views
0

私はアンドロイドでEditTextsから文字列を保存する方法を知っていますが、私の問題は次のとおりです:誰かが働いた時間を保存する必要があります... これはコードの一部です。 toIntメソッドにエラーがあります。AndroidでSharedPreferancesを使用して整数を保存する

try { 
    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putInt("Hours",edit_hours.getText().toInt()); 
    editor.commit(); 

    trying_to_save.setText("SAVED!"); 
} 
catch (Exception e) { 
    trying_to_save.setText("I crashed"); 
} 

問題を手伝ってもらえますか? マイケルに感謝します!

答えて

2

いいえAndroidにtoInt()メソッドがあります。

これを試してみてください:

editor.putInt("Hours",Integer.parseInt(edit_hours.getText().toString())); 
+0

意志? –

+0

toInt()メソッドは単に存在しません。このため、コンパイラエラーが発生します。一方、getText()はString値ではなく編集可能な値を返します。まず、toString()を使用して文字列値(UIの実際のテキスト)を取得し、Integer.parseInt(String)を使用してIntegerに変換する必要があります。 – SiN

+0

「戻ってきたことを「edit_hours .setText(settings.getInt( "Hours"、0)); ' oncreatセクションでは、それはクラッシュした? –

0

あなたは一例として、これを使用することができます:あなたは文字列にエディットテキストを変更すると言うので、私もそれを取り出すとき、私にint型を与える

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this); 
EditTextPreference XXX = (EditTextPreference)findPreference("Hours"); 
XXX.setText(Integer.parseInt(hours)); 
+0

これを使って後でどのように呼び戻しますか? –

関連する問題