如何从attr获取参考格式types的字符串?

我有自定义的attr.xml文档,其中我指定了declare-styleable

       

然后在布局我设置:

  

EditTextValidateablePreference.class我得到它:

  String validatorErrorMessage = attrs.getAttributeValue(PREFERENCE_NS, "errorMessage"); 

validatorErrorMessage的值如下: @2131099700

如何获取其整数值以将其用于:

 context.getResources().getString(messageId) 

谢谢 !

有一个很好的一般答案,我建议你参考: 使用XML声明一个自定义的android UI元素

特别是,您应该使用Context.obtainStyledAttributes(AttributeSet set,int [] attrs)和TypedArray.getString(int index)而不是AttributeSet.getAttributeValue(…):

 TypedArray ta = activityContext.obtainStyledAttributes(attrs, R.styleable.EditTextValidateablePreference); String theString = ta.getString(R.styleable.EditTextValidateablePreference_errorMessage); ta.recycle(); 
 TypedArray array = context.obtainStyledAttributes(attrs,R.styleable.EditTextValidateablePreference);
 int resID = array.getResourceId(R.styleable.EditTextValidateablePreference_errorMessage,R.string.default_text);

从这个int,你可以通过说…来获取字符串

 getResources()的getString(渣油)。