2011-02-28 97 views
1

我目前正在開發的應用程序創建了多個類,每個類都有相應的 .xml文件。計算完成後,我的應用需要從一個屏幕進行到下一個 。從另一個類訪問公共變量?

在一個類中,我已經聲明瞭一個名爲V的公共雙精度,這是電壓計算的結果 。

當用戶按下「NEXT」時,將調用一個新類(ed:Activity?),並且xml文件將會將屏幕視圖更改爲新佈局。

在這個新類中,我需要使用變量(double V)進行新的計算。

我認爲如果一個變量是公開的,它可以在包中的任何地方使用。我是否需要導入這個變量,或者以某種方式重新聲明它?

任何答案將不勝感激。我已經嘗試過所有我能想到的東西,但是 Eclipse只是一直說V不能解決。

+2

您是否輸入了課程?你是否恰當地引用了V?另外,V是一個實例變量還是靜態變量? – 2011-02-28 17:29:58

回答

6

我被「一個新的類被稱爲」,你在談論推出新的活動,意圖,像這樣假設:

Intent intent = new Intent(this, Activity2.class); 
startActivity(intent); 

假如是這樣的話,你可以通過該變量作爲Intent對象中的額外元素,然後從新啓動的Activity中檢索它。例如:現在

Intent intent = new Intent(this, Activity2.class); 
intent.putExtra("voltage", V); 
startActivity(intent); 

,你Activity2.java文檔中,在你的onCreate(),補充一點:

Intent intent = getIntent(); 
double V; 
//return -1 if unable to retrieve 
if(intent != null) V = intent.getDoubleExtra("voltage", -1); 

使V應該用正確的電壓值來填充。

+0

謝謝,那正是我需要的...... – Coops5575 2011-02-28 17:39:17

+0

剛剛嘗試了代碼,而且eclipse讓我把代碼放在第一類(Activity)中,但是當我打開下一個類時,出現錯誤,提示「getExtra(字符串)是未定義的???它只會讓我把第一個2行沒有錯誤,但如果我消除了「如果(意圖等等等等)我仍然不能使用變量」V「。 – Coops5575 2011-02-28 18:04:15

+0

哎呀!是的,我混合起來。 'putExtra'允許有許多不同類型的參數,但您必須指定要檢索的類型。我已經更新了我的答案。 :) – kcoppock 2011-02-28 18:08:16