android 奖励用户100硬币一天一次点击一个特定的按钮?[关闭]

zbdgwd5y  于 2023-05-15  发布在  Android
关注(0)|答案(1)|浏览(141)

已关闭,此问题需要更focused。目前不接受答复。
**想改善这个问题吗?**更新问题,使其仅通过editing this post关注一个问题。

昨天关门了。
Improve this question
我想在其中一个活动中编写代码,该活动每天奖励用户100个硬币,用于单击特定按钮。当用户第二天点击相同的按钮时,我想在第一次保存的100个硬币的基础上增加100个硬币。我希望能够向用户显示硬币余额。
我尝试使用textviews和setText来创建第一个100个硬币的值,并存储添加的100个硬币的值,但它没有存储值,因为每次我离开该活动并返回数字回到0。我刚刚编辑了我的问题,所以我可以添加图像来进一步解释我的意思。

mqxuamgl

mqxuamgl1#

你必须使用button.setOnClickListener()来在点击按钮时运行代码。示例代码:

  1. Button your_btn = findViewById(R.id.YOUR_BUTTON_ID);
  2. your_btn.setOnClickListener(new View.OnClickListener() {
  3. @Override
  4. public void onClick(View view) {
  5. //Code to be executed when button is clicked.
  6. }
  7. });

然后,您需要有一个计数器来跟踪奖励的硬币,并使用SharedPreferences保存它。您需要在Activity类内部和任何函数外部定义计数器变量。示例代码:

  1. //Define a counter
  2. int counter = 0
  3. your_btn.setOnClickListener(new View.OnClickListener() {
  4. @Override
  5. public void onClick(View view) {
  6. //Add 100 coins
  7. counter += 100
  8. //Display number of coins
  9. YOUR_TEXT_VIEW.setText(String.valueOf(counter));
  10. //Save the number of coins
  11. SharedPreferences sp = getSharedPreferences("MySharedPref",MODE_PRIVATE);
  12. SharedPreferences.Editor spEdit = sp.edit();
  13. spEdit.putInt("numCoins",counter);
  14. spEdit.commit();
  15. }
  16. });

然后在onCreate()函数中,需要检索保存的值并显示它:

  1. SharedPreferences mySp = getSharedPreferences("MySharedPref", MODE_APPEND);
  2. //Assign retrieved value to the counter variable
  3. counter = mySp.getInt("numCoins", 0);
  4. YOUR_TEXT_VIEW.setText(String.valueOf(counter));

这也是一个很好的做法,首先尝试自己的东西,然后问一个问题,如果你遇到任何麻烦,兄弟。

展开查看全部

相关问题