通常,我们使用 R.String.btnClose 来获取 ID。
Sometings,我希望用下面的代码来识别,我知道代码是错误的。不知道java是否支持macro var,如果支持,怎么写代码?谢谢!
字符串 s="btnClose"
R.string.s
通常,我们使用 R.String.btnClose 来获取 ID。
Sometings,我希望用下面的代码来识别,我知道代码是错误的。不知道java是否支持macro var,如果支持,怎么写代码?谢谢!
字符串 s="btnClose"
R.string.s
你可能想试试Resources.getIdentifier
。
等价于
int id = R.string.btnClose;
将会
int id = getResources().getIdentifier("btnClose", "string", getPackageName());
注意:不鼓励使用此功能。按标识符检索资源比按名称检索资源效率更高。
例如,您可以有一个Map<String, Integer>
从名称返回您的 id。
在活动内部使用这个:
String s = getString(R.string.btnClose );
不在活动中:
public String getText(Context context, int resourceId)
{
Resources resources = context.getResources();
return resources.getString(resourceId);
}