按钮单击时Textview值不递增

时间:2016-02-10 14:31:00

标签: android counter increment

我开发了一个游戏,每次点击“重新匹配”按钮时我都要增加textview值 我使用共享首选项保存textview值,它工作正常。 问题是“如果我点击我的5次按钮然后值显示5,然后如果我关闭应用程序并再来它显示5(所以共享pref工作正常)但当我再次点击重新匹配它再次启动textview值从1开始,虽然我的预期结果是6,因为5已经保存了

这是我的oncreate方法的代码

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.game);


     SharedPreferences sp = getSharedPreferences(SP_NAME, MODE_PRIVATE);
     tValue = sp.getString("textvalue","");
     coins=(TextView)findViewById(R.id.textView1);
     coins.setText(tValue);

并点击按钮点击我这样做

    count++;
    coins.setText(String.valueOf(count));
    SharedPreferences sp = getSharedPreferences(SP_NAME, MODE_PRIVATE);
     SharedPreferences.Editor sedt = sp.edit();
     sedt.putString("textvalue", coins.getText().toString());
     sedt.commit();

3 个答案:

答案 0 :(得分:0)

问题是您使用count而不是tValue的值。所以不要count++但是将tValue保存为int并增加该值。同样做setText(tValue)。然后它会工作。祝你好运。

答案 1 :(得分:0)

那是因为计数再次开始为0, 当你按下按钮时,它将增加到1.

所以在你获得保存的价值之后的onCreate中。 将其分配给计数,例如:

count = Integer.parseInt(tValue);

希望这会帮助你。

答案 2 :(得分:0)

我认为问题是当你再次启动活动时计数为0.你必须从保存的值开始计数,这可能是一种方法 count = Integer.valueOf(sp.getString("textValue",""))