Android:xmlリソースからの整数


110

で文字列値にアクセスするのと同じ方法で整数値にアクセスするには、XMLリソースを変更する方法、またはどのXMLファイルを作成する必要がありますR.string.some_string_resourceか?

たとえば、私が言いたいコードでは:

ProgressDialog progressBar = new ProgressDialog(getContext());
progressBar.setMax(getInteger(R.integer.maximum));

出来ますか?

回答:


263

はい、可能です。次のようになります。

  1. /res/values/integers.xml というフォルダーにxmlリソースファイルを作成します。

    好きな名前を自由に付けられますが、わかりやすい名前を選択してください。

  2. そのリソースファイルで、整数値を作成します。

    ファイルは次のようになります。

    <?xml version="1.0" encoding="utf-8"?>
    <resources>    
        <integer name="maximum">100</integer>
        ...
    
    </resources>
    
  3. 次のようにJavaコードで整数値を参照します。

    とは少し異なりgetString()ますが、少し迂回する必要があります。

    ProgressDialog progressBar = new ProgressDialog(getContext());
    int max = getContext().getResources().getInteger(R.integer.maximum);
    progressBar.setMax(max);
    

1
これは整数ではなくdouble値です。別のStackOverflowの質問でそれを尋ねるかもしれません。
Terry

1
@テリーこれはAndroidで整数を使用するための好ましい方法です。通常、コード自体にハードコーディングします。あなたのお勧めは何ですか?
capt.swag

2
@ capt.swag通常、各クラスのコードで整数を定数としてハードコードします。ただし、レイアウトごとに異なる定数(つまり、グリッドの列数)が必要な場合は、XMLファイルを使用して、その定数を画面のさまざまな幅に適合させます。それがお役に立て
ば幸い

1
その整数値をXMLで直接使用できますか?
Arbaz.19年

1
@ capt.swagはい、それが推奨される方法です
Bato-Bair Tsyrenov

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.