【发布时间】:2016-02-16 10:14:24
【问题描述】:
对不起,我有 3 个简单的问题,但我需要你的帮助。我想在我的应用程序中有一个计数器(使用shared preference),如下所示:
- 首先,有2个按钮,
START和RESET。如果RESET是 点击后,计数器从0开始。 此外,如果单击START,计数器将从共享偏好数据开始。 - 开始计数
- 最后,我想在共享偏好中保存计数器。 (但我不知道将其保存在 BACK btn 或 CLICK btn 中更好)
我的问题在于共享偏好部分。请帮助我,我该怎么做?非常感谢!
编辑:这是我的代码
public class CountActivity extends Activity {
private Button click;
private int count,savedCount;
private String count_text;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.counting);
click= (Button) findViewById(R.id.vow_counting);
final Typeface typeface = Typeface.createFromAsset(getAssets(),"fonts/Far_Homa.ttf");
final SharedPreferences sharedPreferences=getSharedPreferences("counters", Context.MODE_PRIVATE);
final SharedPreferences.Editor editor=sharedPreferences.edit();
AlertDialog.Builder fBuilder=new AlertDialog.Builder(VowCountActivity.this);
fBuilder.setMessage("please choose");
fBuilder.setCancelable(false);
fBuilder.setPositiveButton("start from beging", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int i) {
count = sharedPreferences.getInt("counter", 0);
click.setText("0");
click.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/Far_Homa.ttf"));
dialogInterface.cancel();
}
});
fBuilder.setNegativeButton("countinue", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int i) {
count = sharedPreferences.getInt("counter",savedCount);
editor.putInt("counter",savedCount).commit();
dialogInterface.cancel();
}
});
fBuilder.show();
click.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
count++;
count_text=Integer.toString(count);
click.setText(count_text);
click.setTypeface(typeface);
savedCount = sharedPreferences.getInt("savedCounter", count);
vibrate(500);
}
});
}
// vibrate
public void vibrate(int duration) {
Vibrator vibs = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibs.vibrate(duration);
}
【问题讨论】:
-
你能举个例子给我看看你做了什么吗……我投了赞成票……如果你不展示你做了什么,很多人都会投反对票…… .
-
非常感谢所有帮助。我阅读了所有答案并执行以下操作。现在我有 2 个问题:
-
1- 如何在 SP 中保存“count”并在 COUNTINUE btn 中继续?
-
2- VIBRATE 方法不能正常工作?(“显示应用程序已停止”)。为什么?
标签: android sharedpreferences counter