2014年7月1日火曜日

Android : リソース id を文字列変数から取得する、コード上で生成する、xml で生成する

文字列からの取得

Resources クラスの getIdentifier メソッドを使います。
リソース id の文字列と、種類(id, string, drawable 等) を入力に、id を返します。
int id = getResources().getIdentifier(
String.format("test_id_%d", 0), "id", getActivity().getPackageName());

コード上で生成

API Level 17 (Android4.2) 以上限定。
int viewId = View.generateViewId();

xml リソースで生成

<resources> タグの中で <item> タグに type="id" を指定した項目を作成します。
strings.xml 等の中に作っても良いのですが、
res/values/ids.xml のように別ファイルにしておいた方が管理しやすいと思います。
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="test_id_0" type="id"/>
    <item name="test_id_1" type="id"/>
</resources>

0 件のコメント:

コメントを投稿