2013-08-26 68 views
1

有了這些行:getSharedPreferences使用R.something?

String app_name = "@string/app_name"; 
SharedPreferences sharedPreferences = getSharedPreferences(app_name, 0); 

我得到一個IllegalArgumentException

文件@字符串/ app_name.xml包含路徑分隔符

如果我這樣做:

SharedPreferences sharedPreferences = getSharedPreferences("MyAppName", 0); 

它工作正常,但我怎麼樣這不需要對應用程序名稱進行硬編碼? 我無法使用R.string.app_name,因爲它是一個int。

回答

7

你可以像下面這樣做

String app_name = getResources().getString(R.string.app_name); 
SharedPreferences sharedPreferences = getSharedPreferences(app_name, 0); 
1

你不能得到斯汀從strings.xml這樣String app_name = "@string/app_name";java Code

要獲得字符串從strings.xmljava Code

使用getResources().getString(R.string.yourStringName);

SO查將您的代碼改爲

String app_name = getResources().getString(R.string.app_name); 
相關問題