0

ここであなたの助けが必要です..次のコードがあります:

public class GameActivity extends Activity {
TextView test1;
String punkte, points;

@Override
public void onCreate(Bundle savedInstanceState) {
    test1 = (TextView) findViewById(R.id.test1);

    punkte = points;
    SharedPreferences load = getSharedPreferences(punkte, 0);
    points = load.getString("punkte", "0");
    test1.setText(points);
    }    


public void mehrPunkte() {
    punkte = "3";


    SharedPreferences load = getSharedPreferences(punkte, 0);
    points = load.getString("punkte", "0");
    test1.setText(points);

    SharedPreferences save = getSharedPreferences(punkte, 0);
    save.edit().putString("punkte", punkte).commit();
}

しかし、アプリを再起動しても「0」と表示されます。私は何を間違えましたか?

4

2 に答える 2

3

getSharedPreferencesの最初のパラメーターはその名前であり、punkte変数の値で示される別の共有設定に保存します。代わりにこれを試してください:

final private static String SHARED_PREF_ID = "My shared preferences";
@Override
public void onCreate(Bundle savedInstanceState) {
    // ...
    SharedPreferences load = getSharedPreferences(SHARED_PREF_ID, MODE_PRIVATE);
    // ...
} 

public void mehrPunkte() {
    punkte = "3";

    SharedPreferences load = getSharedPreferences(SHARED_PREF_ID, MODE_PRIVATE);
    points = load.getString("punkte", "0");
    test1.setText(points);

    SharedPreferences save = getSharedPreferences(SHARED_PREF_ID, MODE_PRIVATE);
    save.edit().putString("punkte", punkte).commit();
}

また、定数を使用して、整数リテラルではなくモードを示します(MODE_PRIVATE、0ではありません)

于 2012-07-27T15:58:33.577 に答える
0

入れるmehrPunkte();_onCreate()

于 2012-07-27T15:55:26.577 に答える