2016-06-21 2 views
0

클래스에서 EditText을 얻는 방법은 무엇입니까? EditText.getText().toString()에서 문자열을 가져올 수 없습니다. null입니다.클래스에서 EditText를 얻으려면 어떻게해야합니까?

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

'레이아웃'현재 화면에보기를 추가 했습니까? –

답변

0

글로벌 EditText 변수를 만든 다음 가져 오기만하면됩니다. 그러나 사용하기 전에 null을 확인하십시오.

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

public void getEmailEditText() {return signup_email;} 반환 무효입니까? – nocmmnt

+0

죄송합니다, 내 변경 사항을 참조하십시오. – NamNH

+0

불행히도, 작동하지 않습니다. – nocmmnt

0

그냥 EDITTEXT 변경 청취자에 대한 클래스 .Put에 문자열 공공 정적 접근을하고 당신을 도울 것입니다 .Hope 당신의 문자열을 초기화.

관련 문제