这是我的代码:
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等等。有任何想法吗?我知道这不是程序,而是现在的“程序员”。提前致谢
答案 0 :(得分:2)
第一条评论中给出的答案; SharedPreferences Logical Error
您应该输入以下代码
SharedPreferences sharedPref = getSharedPreferences("FileName",MODE_PRIVATE);
i = sharedPref.getInt("userChoice", 0);
在您的活动中的onCreate()
- 方法。
在您的代码中,每次启动此活动时我都为0。