9

私の Android アプリには、大きな文字列リソース xml ファイルがあります。宣言されたリソース値を文字列値内で参照して再利用したい。R クラスに参照値 (@string/db_table_name など) を解決させることは可能ですか?

<resources>
<string name="db_table_name">tbl_name</string>
<string name="ddl">create table @string/tbl_name</string>
</resources>

これを行う方法はありますか。通常の Java の世界では、一部のツールは ${varname} 式を使用して参照を解決します。Androidでこれを行うことはできますか?

4

4 に答える 4

12

変更する2番目のリソース文字列(動的にしたいもの)に%sを追加します。すなわち、

<resources>
<string name="db_table_name">tbl_name</string>
<string name="ddl">create table %s</string>
</resources>

コードでgetString()を使用して、魔法を働かせます。

getString(R.string.ddl, getString(R.string.db_table_name));
于 2011-07-13T14:17:17.230 に答える
0

うーん、これはありえないと思います。リソースが割り当てられると、Android は空中で動的に変更することを許可しないためです。代わりに、別のクラスに文字列を配置して、コードを実行しながら変更することができます。

于 2011-07-13T13:26:40.103 に答える