[英]How to create an instance to call a method of an activity to a service class in 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.