单击按钮时 Textview 值不增加

Textview value not incrementing on button click

我正在开发一款游戏,每次点击 "Rematch" 按钮时我都必须增加 textview 值 我正在使用共享首选项保存 textview 值,它工作正常。 问题是“如果我在按钮上点击了 5 次,则值显示为 5,然后如果我关闭应用程序并再次出现,它显示 5(因此共享首选项工作正常)但是当我再次点击重新匹配时,它再次启动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();

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

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

所以在您 onCreate 取回您的储蓄价值后。 将其分配给计数,例如:

count = Integer.parseInt(tValue);

希望对您有所帮助。

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