web-dev-qa-db-ja.com

Java Android Codeからstring.xmlリソースファイルにアクセスします

Android res/values/string.xmlからActivity classリソースファイルの値にアクセスするにはどうすればよいですか?

97
Ravikiran

このコードをres/values/string.xmlに入れます

<string-array name="planet"> 
    <item>Mercury</item>
    <item>Venus</item>
    <item>Earth</item>
    <item>Mars</item>
</string-array>

このコードはres/layout/main.xmlに配置され、main.xmlに存在するデフォルトのウィジェットを削除します。

<ListView Android:id="@+id/planet"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:entries="@array/planet"/>
</LinearLayout>
15
Ravikiran

を使用して文字列を取得することができます、

getString(R.string.app_name);

そして、次を使用してstring-arrayを取得できます

String arr[] = getResources().getStringArray(R.array.planet);
for (int i = 0; i < arr.length; i++) {
        Toast.makeText(getBaseContext(),arr[i], Toast.LENGTH_LONG).show();  
}
136
Lalit Poptani

strings.xml:

<string name="some_text">Some Text</string>

アクティビティ:

getString(R.string.some_text);
42
Ollie C

If getString(R.string.app_name);あなたのために働いていません、あなたはこのようなコンテキストを渡すことができます:

context.getString(R.string.app_name);
15
Pritesh Desai

アクティビティのコンテキストがある場合は、次を使用します。

getString(R.string.app_name);

コンテキストがない場合は、以下を試してください。Constructorを使用して、アクティビティからコンテキストを取得できます。

mContext.getString(R.string.app_name);
2
gauravsngarg