Resources String from Name, 由字串名得到字串
想要在程式中使用resource 中的字串,可以用以下的方法 String str = getResources().getString(int id); 但是如果我們希望用resources 中的字串名來使用字串,就要先把字串名轉成id int resId=getResources().getIdentifier(name, "string", getPackageName())) name 是指在 R.string.XXXX 的 XXXX, "string"是指 R.string.XXXX 的string, 所以如果是 R.drawable.XXXX,"string", 就要改成"drawable"。 最後是package name, 使用getPackageName(),來得到package name, 或直接打上package name都可以。 有了resId, 現在只要 String str=getResources().getString(resId); 如此即可得到字串。 有人說用 getResources().getIdentifier(name, "string", getPackageName())) 太沒有效率,速度慢。所以可以用另一種方法如下 try { Class res=R.string.class; // 如果是drawable就變成Class res=R.drawable.class Field field = res.getField(" name ");// name要改成字串名 int resId = field.getInt(null); ...