2016-06-21 12 views
0

Wie kann man EditText von einer Klasse bekommen? Ich kann keine Zeichenfolge von EditText.getText().toString() erhalten. Es ist null.Wie kann EditText von einer Klasse abgerufen werden?

public class SignUpModel { 
    String email; 
    Context context; 

    public SignUpModel(Context context) { 
     this.context = context; 
    } 

    public String getEmail() { 
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View layout=inflater.inflate(R.layout.activity_sign_up, null); 
     EditText signup_email =(EditText) layout.findViewById(R.id.signup_email); 
     email = signup_email.getText().toString(); 
     Log.v("email",signup_email.getText().toString()); 
     return email; 
    } 

} 
+0

Haben Sie "Layout" im aktuellen Bildschirm anzeigen? –

Antwort

0

Erstellen Sie einfach Ihre globale EditText Variable, dann bekommen Sie es. Aber, überprüfen Sie Null, bevor Sie es verwenden.

public class SignUpModel { 
    String email; 
    Context context; 
    private EditText signup_email; 

    public SignUpModel(Context context) { 
     this.context = context; 
    } 

    public String getEmail() { 
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View layout=inflater.inflate(R.layout.activity_sign_up, null); 
     signup_email =(EditText) layout.findViewById(R.id.signup_email); 
     email = signup_email.getText().toString(); 
     Log.v("email",signup_email.getText().toString()); 
     return email; 
    } 
    public EditText getEmailEditText() { 
     return signup_email; 
    } 

} 
+0

Ist öffentlich void getEmailEditText() {return signup_email;} return void? – nocmmnt

+0

Entschuldigung, siehe meine geänderte – NamNH

+0

Leider funktioniert es nicht – nocmmnt

0

Nur String public static und greifen Sie in Ihrer Klasse .Put auf editText ändern Hörer machen und die Zeichenfolge neu initialisieren .Hope es wird Ihnen helfen.

Verwandte Themen