SharedPreferences逻辑错误

时间:2012-10-16 00:06:30

标签: java android sharedpreferences

这是我的代码:

package com.example.sharedprefs;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {
    int i = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


    }

    public void doThis (View view){
        i++;
        SharedPreferences sharedPref = getSharedPreferences("FileName",MODE_PRIVATE);
        SharedPreferences.Editor prefEditor = sharedPref.edit();
        prefEditor.putInt("userChoice",i);
        prefEditor.commit();
        int number = sharedPref.getInt("userChoice", 0);
        Toast.makeText(getApplicationContext(), number + "" , Toast.LENGTH_LONG).show();
        this.finish();

    }

}

当应用程序运行时,我再次运行它。我不断得到“1”作为祝酒词。我想要获得1和2和3等等。有任何想法吗?我知道这不是程序,而是现在的“程序员”。提前致谢

1 个答案:

答案 0 :(得分:2)

第一条评论中给出的答案; SharedPreferences Logical Error

您应该输入以下代码

SharedPreferences sharedPref = getSharedPreferences("FileName",MODE_PRIVATE);
i = sharedPref.getInt("userChoice", 0); 

在您的活动中的onCreate() - 方法。

在您的代码中,每次启动此活动时我都为0。