SharedPreferences在TextView中保存Int的值 [英] SharedPreferences Save value of Int in a TextView
本文介绍了SharedPreferences在TextView中保存Int的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试使用SharedPreferences保存TextView中显示的int的值,它根本无法工作。我做了一个简单的小代码示例:
I try to save the value of an int displayed in a TextView using SharedPreferences, it can't work at all. I did a simple small example of code :
public class MainActivity extends Activity {
Button search;
TextView tvRing;
int redRing;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final SharedPreferences prefs = getSharedPreferences("sharedPreferences", Context.MODE_PRIVATE);
search = (Button) findViewById(R.id.radar);
tvRing = (TextView) findViewById(R.id.ring);
int someint = prefs.getInt("someint", 0);
tvRing.setText("Objects found : " + String.valueOf(someint));
search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addRing();
SharedPreferences.Editor editor = prefs.edit();
editor.putInt("someint", redRing);
editor.commit();
}
});
}
public void addRing() {
redRing++;
}
}
感谢大家的帮助。
推荐答案
我解释了我做出更改的地方
I explained where I made changes
public class MainActivity extends Activity {
Button search;
TextView tvRing;
//Making sharedpreferences and integers global for ease of use
private SharedPreferences prefs;
private int redRing, someint;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
search = (Button) findViewById(R.id.radar);
tvRing = (TextView) findViewById(R.id.ring);
//Someint default value is 0 if not ever saved before
prefs = getSharedPreferences("sharedPreferences", Context.MODE_PRIVATE);
someint = prefs.getInt("someint", 0);
tvRing.setText("Objects found : " + String.valueOf(someint));
search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Load the lates someint in onclick
someint = prefs.getInt("someint", 0);
//redring is the dummy integer to increment someint
redRing=someint+1;
//Save the incremented value
SharedPreferences.Editor editor = prefs.edit();
editor.putInt("someint", redRing);
editor.commit();
//To show the latest number on the tv
lastNumber();
}
});
}
public void lastNumber() {
prefs = getSharedPreferences("sharedPreferences", Context.MODE_PRIVATE);
someint = prefs.getInt("someint", 0);
tvRing.setText("Objects found : " + String.valueOf(someint));
}
}
这篇关于SharedPreferences在TextView中保存Int的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文