-1

通常,我们使用 R.String.btnClose 来获取 ID。
Sometings,我希望用下面的代码来识别,我知道代码是错误的。不知道java是否支持macro var,如果支持,怎么写代码?谢谢!

字符串 s="btnClose"
R.string.s

4

2 回答 2

1

你可能想试试Resources.getIdentifier

等价于

int id = R.string.btnClose;

将会

int id = getResources().getIdentifier("btnClose", "string", getPackageName());

注意:不鼓励使用此功能。按标识符检索资源比按名称检索资源效率更高。

例如,您可以有一个Map<String, Integer>从名称返回您的 id。

于 2013-06-23T10:08:38.717 回答
0

在活动内部使用这个:

String s = getString(R.string.btnClose );

不在活动中:

public String getText(Context context, int resourceId)
{
    Resources resources = context.getResources();
    return resources.getString(resourceId);
}
于 2013-06-23T09:46:51.607 回答