Android 共享首选项不起作用

Android 共享首选项不起作用,android,sharedpreferences,Android,Sharedpreferences,我需要你的帮助。。 我有以下代码: public class GameActivity extends Activity { TextView test1; String punkte, points; @Override public void onCreate(Bundle savedInstanceState) { test1 = (TextView) findViewById(R.id.test1); punkte = points; SharedPrefer

我需要你的帮助。。 我有以下代码:

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”。 我做错了什么?

Put
mehrPunkte()
onCreate()
Put
mehrPunkte()
onCreate()

中,的第一个参数是它的名称,您可以将它保存到不同的共享首选项中,由
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)

的第一个参数是它的名称,您可以将它保存到另一个共享首选项中,由
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)

我看不到对
mehrPunkte
的调用……它是在onClick方法中调用的:public void onClick(View v){mehrPunkte();}。我看不到对
mehrPunkte
的调用……它是在onClick方法中调用的:public void onClick(View v){mehrPunkte()}看看我上面的评论:方法被调用,然后显示“3”。但当我重新启动时,它再次显示“0”Inbinyamin Sharet的答案正是您要寻找的。请看我上面的评论:该方法被调用,然后显示“3”。但当我重新启动时,它再次显示“0”Inbinyamin Sharet的答案正是您想要的。