gpt4 book ai didi

java - 更改 SharedPreferences 值时遇到问题

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:05 25 4
gpt4 key购买 nike

我想保存一个值(“硬币”),并且我正在使用 SharedPreferences 选项(我希望即使关闭应用程序后也能保存硬币数量)。我使用了 2 个函数,一个用于插入(/更改)硬币数量,另一个用于获取它。另外,我制作了一个按钮,点击它后,它会改变硬币的数量。问题是,按钮不会改变它。有什么帮助吗?提前致谢。

package com.myfirstapplication.owner.appversion1;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
Button btnPlay;

public void changeCoinsNumber(String key, int value) {
SharedPreferences sharedPreferences = getSharedPreferences("PlayerInfo", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt(key, value);
editor.commit();
}

public int loadCoinsNumber(String key) {
SharedPreferences sharedPreferences = getSharedPreferences("PlayerInfo", Activity.MODE_PRIVATE);
int savedValue = sharedPreferences.getInt(key, 0);
return savedValue;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

changeCoinsNumber("CoinsNumber", 5);

TextView txt = (TextView) findViewById(R.id.spText);
txt.setText(""+loadCoinsNumber("CoinsNumber")); // displaying the number of coins

btnPlay = (Button) findViewById(R.id.btnPlay);
btnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
changeCoinsNumber("CoinsNumber", 111);
}
});
}

}

最佳答案

如果您按照代码更改硬币值,则需要再次显示它。我正在更新您的一小部分代码。

    final TextView txt = (TextView) findViewById(R.id.spText);//Make txt final
txt.setText(""+loadCoinsNumber("CoinsNumber")); // displaying the number of coins

btnPlay = (Button) findViewById(R.id.btnPlay);
btnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
changeCoinsNumber("CoinsNumber", 111);
txt.setText(""+loadCoinsNumber("CoinsNumber"));//Adding this line to update
}
});

希望对你有帮助:)

关于java - 更改 SharedPreferences 值时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37839434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com