2011-11-17 47 views
0
double cal; 
    double rcarbohydrate; 
    double rfat; 
    double rprotein; 

public AdapterDB(double cal, double rcarbohydrate, double rfat, double rprotein, Context ctx) 
      { 
       this.cal = cal; 
       this.rcarbohydrate = rcarbohydrate; 
       this.rfat = rfat; 
       this.rprotein = rprotein; 
       this.context = ctx; 
       DBHelper = new DatabaseHelper (context); 

       Log.v("", "cal1 " + cal); 
       Log.v("", "cal1 " + rcarbohydrate); 
       Log.v("", "cal1 " + rfat); 
       Log.v("", "cal" + rprotein); 
      } 

      public void generateSomething() 
      { 
       Log.i("", "cal2 " + cal); 
       Log.i("", "cal2 " + rcarbohydrate); 
       Log.i("", "cal2 " + rfat); 
       Log.i("", "cal2 " + rprotein); 
      } 

它無法獲得值。 cal1得到的值,但cal2爲0.0爲什麼?任何想法如何解決這個問題?謝謝。實際cal = 2500.00 rcarbohydrate = 350.50 rfat = 45.90 rprotein = 156.90對構造函數theres是值,但是當我想在另一個函數上使用它時,它是零(Android)

+0

你確定你打給'generateSomething()'在類的同一個實例上? –

+0

是的,在一個類 – Michelle

+0

一個類,但有多少個類的實例?你能告訴你如何調用新的AdapterDB(...)和generateSomething()。 (請參閱@Mocialov Boris的答案) – FunkTheMonk

回答

3

你確定數據類型是相同的。 你可以在構造函數中嘗試「this.cal」並查看!

+0

是的數據類型是相同的 – Michelle

+0

如何獲取AdapterDB類的實例AdapterDB db = new AdapterDB ()或AdapterDB db = new AdapterDB(12,232,....); ?? – vikky

+0

db = new AdapterDB(cal,rcarbohydrate,rfat,rprotein,getApplicationContext()); – Michelle

1

你應該在你的程序某個時間點調用構造,說階級Test.java

AdapterDB adapterDB = new AdapterDB(val1, val2, val3, val4, context); 

,這意味着你創建一個新的對象adapterDB,其中包含了一些值。

現在,您可以通過調用

adapterDB.someFunction(); 

無論是有意使用該對象或該對象傳遞給另一個類(活動),在android系統 - intent.putExtra()作爲Parcelable對象,但你必須修改對象類

,並確保第一 - 創建一個對象和第二 - 在您的活動(安卓)一起執行順序方面使用它

+0

但我所有在一類 – Michelle

+0

並嘗試訪問cal2使用此cal – 2011-11-17 09:26:23

+0

結果仍爲零 – Michelle

0

你缺少一個基本的米歇爾 - 你「寫」一堂課然後你去clare這個類的數據類型的名稱使用它,並調用新的相同的確切代碼,你只是寫,但使用變量名稱來解決你寫的代碼中的func()調用

相關問題