我正在创建一个 android 应用程序,其中有 2 个静态整数。我想保存这两个 int 的值,但目前只有 1 个 int 被保存。
到目前为止,这是我保存整数的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// The activity is being created.
setContentView(R.layout.durood);
app_preferences = this.getSharedPreferences("myPrefscount", MODE_WORLD_READABLE);
count = app_preferences.getInt("count", 0);
total = app_preferences.getInt("total", 0);
@Override
protected void onPause() {
super.onPause();
SharedPreferences.Editor editor = app_preferences.edit();
editor.putInt("count", count);
editor.putInt("total", total);
editor.commit();
editor.commit();
'count' int 被保存,但不是'total' int。关于如何纠正这个问题的任何想法?
在 twaddington 的建议之后编辑了最后一点代码:
SharedPreferences.Editor editor = app_preferences.edit();
editor.putInt("count", count);
editor.putInt("total", total);
Log.d("Test", "total: "+total);
editor.commit();
我的整个代码:
public class durood extends Activity{
//Count Button
TextView txtCount;
TextView totalCount;
EditText enteramount;
Button btnCount;
Button dmute;
Button dreset;
Button addtotal1;
Button addtotal2;
Button cleartotal;
static int count=0;
static int total=0;
private int x=0;
private int y=0;
private int z=0;
SharedPreferences app_preferences;
MediaPlayer mpButtonClick;
AudioManager audioManager;
public static boolean mutestatus=false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// The activity is being created.
setContentView(R.layout.durood);
audioManager =
(AudioManager)getSystemService(Context.AUDIO_SERVICE);
//SAVE COUNT
app_preferences = this.getSharedPreferences("myPrefscount", MODE_WORLD_READABLE);
count = app_preferences.getInt("count", 0);
total = app_preferences.getInt("total", total++);
txtCount = (TextView)findViewById(R.id.dcount);
txtCount.setText("This app has been started " + count + " times.");
txtCount = (TextView)findViewById(R.id.dcount);
txtCount.setText("This app has been started " + count + " times.");
enteramount = (EditText)findViewById(R.id.enteramount);
totalCount = (TextView)findViewById(R.id.totalCount);
totalCount.setText("This app has been started " + total + " times.");
txtCount = (TextView)findViewById(R.id.dcount);
//Button SOUND AND COUNT
mpButtonClick = MediaPlayer.create(this, R.raw.bubble);
dreset = (Button)findViewById(R.id.dreset);
cleartotal = (Button)findViewById(R.id.cleartotal);
txtCount = (TextView)findViewById(R.id.dcount);
txtCount.setText(String.valueOf(count));
totalCount = (TextView)findViewById(R.id.totalCount);
totalCount.setText(String.valueOf(total));
btnCount = (Button)findViewById(R.id.dclick);
dmute=(Button)findViewById(R.id.dmute);
addtotal1=(Button)findViewById(R.id.addtototal1);
addtotal2=(Button)findViewById(R.id.addtototal2);
btnCount.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
count++;
txtCount.setText(String.valueOf(count));
mpButtonClick.start();
}
});
dreset.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
count = 0;
txtCount.setText("0");
SharedPreferences.Editor editor = app_preferences.edit();
editor.putInt("count", count);
editor.commit();
}
});
cleartotal.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
total = 0;
totalCount.setText("0");
SharedPreferences.Editor editor = app_preferences.edit();
editor.putInt("total", total);
editor.commit();
}
});
dmute.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(!mutestatus){
mutestatus=true;
audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setStreamSolo(AudioManager.STREAM_VOICE_CALL, true);
}
else{
mutestatus=false;
audioManager.setMode(AudioManager.MODE_NORMAL );
audioManager.setStreamSolo(AudioManager.STREAM_VOICE_CALL, false);
}
}});
//add to total 1
addtotal1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
x=Integer.parseInt(txtCount.getText().toString());
y=Integer.parseInt(totalCount.getText().toString());
z=x+y;
totalCount.setText(Integer.toString(z));
count = 0;
txtCount.setText("0");
SharedPreferences.Editor editor = app_preferences.edit();
editor.putInt("count", count);
editor.commit();
}
});
//add to total 2
addtotal2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
x=Integer.parseInt(enteramount.getText().toString());
y=Integer.parseInt(totalCount.getText().toString());
z=x+y;
totalCount.setText(Integer.toString(z));
enteramount.setText("");
}
});
}
@Override
protected void onPause() {
super.onPause();
// save count value here
SharedPreferences.Editor editor = app_preferences.edit();
editor.putInt("count", count);
editor.putInt("total", total);
Log.d("Test", "total: "+total);
editor.commit();
mutestatus=false;
audioManager.setMode(AudioManager.MODE_NORMAL );
audioManager.setStreamSolo(AudioManager.STREAM_VOICE_CALL, false);
}