gpt4 book ai didi

java - 如何在一个 Android Activity 中创建一个实例变量?

转载 作者:行者123 更新时间:2023-11-30 12:04:16 26 4
gpt4 key购买 nike

所以这似乎是一个奇怪的问题,但我对 Android Studio 有一些不了解的地方(我刚开始使用它)。

如果我想在一个 Activity 中创建一个变量,然后在我的 Activity 中的不同方法中访问它,我应该能够做到,对吗?例如,考虑以下代码:

public class bakers extends AppCompatActivity {
private Bunz bunz;

BigDecimal baker1Cost = BigDecimal.valueOf(20); //cost of baker1

BigDecimal baker1Bunz = BigDecimal.valueOf(.1); //number of bunz produced by each baker1
TextView baker1CostText = (TextView) findViewById(R.id.baker1Cost);
TextView baker1Owned = (TextView) findViewById(R.id.baker1Owned);
TextView baker1BunzText = (TextView) findViewById(R.id.baker1Bunz);
TextView bunzCount = (TextView) findViewById(R.id.bunzCount3);
TextView moneyCount = (TextView) findViewById(R.id.moneyCount3);

@Override
protected void onResume() {


super.onResume();
setContentView(R.layout.activity_bakers);

bunz = Bunz.getInstance();



bunzCount.setText("Bunz: " + bunz.getBunz());


moneyCount.setText("Money: " + bunz.getMoney());


baker1BunzText.setText(baker1Bunz.toPlainString());


baker1CostText.setText("Cost: " + (baker1Cost));


baker1Owned.setText("Owned: " + bunz.getBaker1());


}
...

在这段代码中,我尝试在我的 onResume() 方法之前声明和初始化一堆变量,但这不起作用。我发现我可以在 onResume() 方法之前声明变量,但是例如,如果我想在 onResume() 方法中更新这些变量的值,那很好,但是如果我想在另一个方法中访问该变量,例如 onClick,我不能那样做,必须重新定义变量。

我这里有什么地方做错了吗?从本质上讲,我的问题归结为:我想为一个 Activity (不是在所有 Activity 中)设置一个实例变量,我可以在 Activity 中的任何地方访问和修改它。

编辑:似乎认为在 onResume 方法处理 int 之类的东西之前初始化和声明变量,但我只能声明 Buttons 和 Textviews 之类的东西 - 有什么办法可以解决这个问题?

谢谢

最佳答案

为什么不在 Activity 的 onCreate 方法中初始化变量? Here您可以了解 Activity 生命周期。

关于java - 如何在一个 Android Activity 中创建一个实例变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57227062/

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