1

私はAndroidで数値を保存および取得しようとしているので、後で結果を計算できます。私は文字列を保存して取得することに成功していますが、何らかの理由で整数に対して機能させることができないようです

これが私がテストした文字列コードです

保存する...

getSharedPreferences("words", 0).edit().putString("YAS", wordString).commit();

受け取る...

String words= getSharedPreferences("words", 0).getString("YAS", "");
t.setText(words);

しかし、整数で同様のことを試してみると、うまくいきません。

保存する...

getSharedPreferences("number", 0).edit().putInt("numbers", 1).commit();

受け取る...

int test2 = getSharedPreferences("number", 0).getInt("numbers",0);

基本的に、ボタンを押す前に保存された変数を0にして(その時点では存在しないため、そうなると思います)、押したときに1に変更する必要があります。ボタンを何回押しても、助けを求めると1人の歓声になります。

4

2 に答える 2

5

あなたのコメントから私はあなたがこのようなことをしていると思います:

int test2 = getSharedPreferences("number", 0).getInt("numbers",0);
t.setText(test2);

これにより、システムは、値test2(この場合は0)のressourceidを持つxmlressourceファイルでressourceを検索します。このリソースは存在せず、例外が発生します。

使用する

int test2 = getSharedPreferences("number", 0).getInt("numbers",0);
t.setText(Integer.toString(test2));

代わりは。

于 2012-06-13T12:16:33.937 に答える
0

その時点で、ボタンが押される前にSharedPreferecesが存在しないというのは間違いです。初めて-はい、それは存在しません。しかし、あなたがあなたの価値を保存するとき、あなたが何度もアプリケーションを再起動したとしても、それはそこにあります。ただし、アプリを削除すると、SharedPreferecesも削除されます。

単純な整数変数(たとえば、クラスフィールド)を使用する必要があるようです。

于 2012-06-13T12:06:00.777 に答える