2012-12-18 38 views
2

如何在運行時更改R.string.app_name?如何在運行時更改R.string.some_variable?

我從清單文件中找出我的Android應用程序的版本。現在我想從res文件夾中得到這個字符串 R.string.app_name。我想在運行時將這個app_name的版本附加到我的應用程序的版本中。

我們是否允許在Android中這樣做?

+1

由於字符串是靜態的,你的應用程序的版本也是靜態的,爲什麼需要在運行時 –

+0

資源文件做是隻讀的。 –

回答

3

,這是不可能的,因爲所有R. 資源在您的R.java文件中定義爲常量。稍後,這些不會由Android進行編輯。

+0

好吧,明白了。謝謝。 – Master

1

有一件事你必須在這裏理解的是,當你提供一個數據作爲一個資源,它不能在運行時修改。例如,繪圖文件夾中的繪圖不能在運行時修改。準確地說,「res」文件夾不能以編程方式修改。

這也適用於Strings.xml,即「Values」文件夾。如果您想要一個必須在運行時修改的字符串,請創建一個單獨的類並將您的字符串放置在此類中並在運行時訪問。這是我找到的最好的解決方案。

如果你想存儲在持久性方式的值,看看SharedPreferences

+0

好的,謝謝。但我需要根據我的Android應用程序的Manifest文件版本更改應用程序的名稱。我不想硬編碼它。 但在其他情況下,我可以絕對使用新班級爲我保留字符串,以便在運行時更改。 – Master