1

これらの行で:

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

私は得るIllegalArgumentException

ファイル @string/app_name.xml にパス区切り文字が含まれています

私がこれを行う場合:

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

正常に動作しますが、アプリ名をハードコーディングせずにこれを使用するにはどうすればよいですか? R.string.app_name は int であるため使用できません。

4

2 に答える 2

1

あなたはあなたの中でstrings.xmlこのようにスティングを取得することはできませんString app_name = "@string/app_name";java Code

文字列を取得strings.xmlするにはjava Code

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

SOコードを次のように変更します

String app_name = getResources().getString(R.string.app_name);
于 2013-08-26T14:02:09.740 に答える