読者です 読者をやめる 読者になる 読者になる

動的にリソースを取得

例えばノベルゲームを作ろうとしているとき、
stringリソースXMLの属性名を連番(scene1とか)にしてテキストを追加する。
getResources() の返す Resources クラスオブジェクトには getIdentifier( リソース名", "クラス名", "パス") というメソッドがあり、このメソッドはリソース名のIDを返してくれる。
以下は "scene" + "n" のstringリソースにアクセスしてテキストビューに表示する(Activity 内を前提としてます)。

    public void onClick(View v)
    {
    	scene_num++;

    	int text_id = getResources().getIdentifier(
                        "scene"+String.valueOf( scene_num ),
        		"string",
        		"aaa.jewel.novelgame"
        );

    	textview.setText( getString(text_id) );	
    }