通常、R.String.btnClose を使用して ID を取得します。
次のコードを使用して識別したいと考えています。コードが間違っていることはわかっています。Java がマクロ var をサポートしているかどうかわかりません。サポートしている場合、どのようにコードを記述すればよいですか? ありがとう!
文字列 s="btnClose"
R.string.s
通常、R.String.btnClose を使用して ID を取得します。
次のコードを使用して識別したいと考えています。コードが間違っていることはわかっています。Java がマクロ 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);
}