2015-10-31 121 views
0

我有一個Application類的變量。我想從另一個活動中更改變量的值(源自Application類)。現在,我只能創建變量的實例,然後更改實例的值,這違背了從Application類創建變量的全部目的(所以它可以在項目中的所有活動中使用)更改變量的值?

這是變量。這是一個長期的,並表示已經過去了活動次數:

enter image description here

我試圖通過嘗試做這樣的事情numberOfActivities的值從每一次活動改變:

( (activityCount)getApplicationContext())。numberOfActivities ++;

正如你在這裏看到的,我只是在改變它的一個實例。當我稍後嘗試訪問變量時,值爲0.這不應該是這樣,因爲我聲明它是靜態的。當我將鼠標懸停在通過實例引用訪問的靜態成員上時彈出窗口。我如何從單獨的活動中完全改變變量的值?

非常感謝,如果您需要更多信息,請隨時告訴我。任何反饋意見。

謝謝!

+0

http://www.devahead.com/blog/2011/06/extending-the-android-application-class-and-dealing-with-singleton/ – Simon

+0

爲什麼截圖而不是粘貼代碼? (我很困惑,如果那是我做的,我會放幾個「?」) – njzk2

+0

富有 - 如果有人在幾天內沒有解決您的問題,該網站有一個「賞金」功能。你可以犧牲一些你的聲望來創造一個問題的賞金,給它更多的活動':'' – sircapsalot

回答

0

我想通了!我只需將它設置爲myApplication類中的System.currentTimeMillis()即可。就像這樣:

enter image description here

雖然這是一個很好的解決方法,我很樂意看到的方式來訪問和更改它在另一個類本身。

1

通過這樣做:

currentTime = ((myCurrentTime) getApplicationContext()).currentTime;

你這是在0

初始化靜態抹除一個地方currentTime的價值,不妨圍繞做它的其他方式:

((myCurrentTime) getApplicationContext()).currentTime = currentTime;

+0

哦!所以現在我正在做0 = 0.另一種方法可以說:this.currentTime? –

+0

如果我這樣做,我會得到左側的錯誤:期望變量 –

+0

嗨Rich,你改變了很多問題,你是否設法解決它? 我不是一個Android開發者,而是java。 對於android GlobalVariable,您可能會在本文中找到解決方案: http://androidexample.com/Global_Variable_Or_Application_Context_Variable_-_Android_Example/index.php?view=article_discription&aid=114&aaid=136 –