【问题标题】:Get String values from XML Resource file in global scope从全局范围内的 XML 资源文件中获取字符串值
【发布时间】:2016-08-09 09:41:42
【问题描述】:

我正在使用 Android Validation Saripaar 库进行验证,我需要将我的 XML 资源字符串分配给消息属性, 我无法在此范围内通过 getResources.getStrings(R.strings.myString) 获取系统资源,因为在本地范围之外无法访问“this”。

    public class signup extends Activity 
    {
        @Order(1)
        @Email(message =  "Please Type Correct Email!")
        private EditText email;
        //onCreate()....
    }

【问题讨论】:

  • 这个问题可以通过定义常量字符串来解决。这是解决方案
  • ' public final String str = R.string.error_field_required '

标签: java android saripaar


【解决方案1】:

如下尝试

@Email(messageResId = R.string.invalid_email)
@BindView(R.id.et_mail)
EditText etMail;


From source code of saripar

@ValidateUsing(EmailRule.class)
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Email {
    boolean allowLocal()    
default false;

    int sequence()          default -1;
    int messageResId()      default -1;
    String message()        default "Invalid email";
}

【讨论】:

  • @Email 需要的字符串常量,我们必须在使用前定义它'final'
  • 您使用的是哪个版本的 Saripaar? bcoz 我可以用 com.mobsandgeeks:android-saripaar:2.0.3 做这样的事情
  • android-saripaar:2.0.3
  • 对不起,我犯了一些错误。谢谢它现在可以工作了
  • 如果答案对你有帮助,标记为正确答案,以便有类似情况的用户可以使用此解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-14
  • 1970-01-01
  • 2013-06-25
  • 1970-01-01
  • 1970-01-01
  • 2011-08-13
  • 2021-07-29
相关资源
最近更新 更多