单击按钮时 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",""))
我正在开发一款游戏,每次点击 "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",""))