簡體   English   中英

如何在一個活動的Android中創建實例變量?

[英]How to create an instance variable in one activity Android?

因此,這似乎是一個奇怪的問題,但是關於Android Studio我有些不了解(我剛剛開始使用它)。

如果我想在活動中創建一個變量,然后在活動中使用不同的方法訪問它,那我應該能夠做到,對嗎? 例如,考慮以下代碼:

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,我無法做到這一點,必須重新定義變量。

我在這里做錯什么了嗎? 從本質上講,我的問題可以歸結為:我想為一個活動(而不是在所有活動中)擁有一個實例變量,我可以在該活動中的任何地方訪問和修改該變量。

編輯:好像在onResume方法與ints之類的東西一起工作之前初始化和聲明變量,但是我只能聲明 Buttons和Textviews之類的東西-有什么辦法可以解決這個問題嗎?

謝謝

為什么不在Activity的onCreate方法中初始化變量? 在這里,您可以了解活動生命周期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM