2016-08-09 21 views
0

Ich verwende Android Validation Saripaar Bibliothek für die Validierung, ich muss meine XML Resource Strings dem Nachrichtenattribut zuweisen, Ich kann keine Systemressourcen von getResources.getStrings (R .strings.myString) in diesem Bereich, da "this" außerhalb des lokalen Bereichs nicht zugänglich ist.Abrufen von String - Werten aus XML Ressourcendatei im globalen Gültigkeitsbereich

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

dieses Problem irgendwie durch die Definition konstanter String aufgelöst. hier ist die Lösung – Usman

+0

'öffentlichen endgültigen String str = R.string.error_field_required' – Usman

Antwort

1

Versuchen wie folgt

@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"; 
} 
+0

Dies funktioniert nicht, wie ich vor – Usman

+0

@Email erforderliche Zeichenfolge in konstant versucht, müssen wir definieren es "endgültig" vor der Verwendung – Usman

+0

welche Version von Saripaar benutzt du? bcoz kann ich so mit com.mobsandgeeks tun: android-saripaar: 2.0.3 – darwin