2013-02-08 1 views
0

누군가가 도울 수 있기를 바랍니다. 나는 안드로이드에 상당히 익숙하며 텍스트 필드에 문제가 있습니다. 나는 사용자가 정보를 입력하도록 요구하는 3 개의 텍스트 필드를 가지고 있는데, 등록 버튼을 클릭하면 메시지가 등록되었다는 것을 알려주고 로그인 활동으로 리다이렉트하게된다. 내 문제는 사용자가 3 개의 텍스트 필드를 모두 완료했는지, 그리고 오류 메시지를 표시하지 않고 다시 시도 할 수 있는지 확인하고 싶습니다. 오류 메시지를 표시 할 수 있지만 reg 단추를 클릭하면 모든 텍스트 필드가 완료되지 않은 경우에도 사용자가 등록되어 있고 사용자를 로그인 활동으로 리디렉션한다는 사실을 알리며 누군가 내가 잘못되었다고 말할 수있는 경우 내 코드를 게시했습니다. , 미리 감사드립니다! 여기안드로이드의 텍스트 필드

@Override 
    public void onClick(View arg0) { 
    // TODO Auto-generated method stub 
    String data1 = inputName.getText().toString(); 
     if(data1.trim().equals("")){ 
      Toast.makeText(RegisterActivity.this, "Please enter your name", 
        Toast.LENGTH_SHORT).show(); 
} 
    String data2 = inputEmail.getText().toString(); 
     if(data2.trim().equals("")){ 
      Toast.makeText(RegisterActivity.this, "please enter email address", 
        Toast.LENGTH_SHORT).show(); 
     } 
    String data3 = inputPassword.getText().toString(); 
     if(data3.trim().equals("")){ 
      Toast.makeText(RegisterActivity.this, "Please enter a password", 
      Toast.LENGTH_SHORT).show(); 
     } 

    if(data1 != null && data2 != null && data3!= null){ 
    mySQLiteAdapter.insert(data1, data2, data3); 
    updateList(); 
    Toast.makeText(RegisterActivity.this, "You are now registered", 
      Toast.LENGTH_SHORT).show(); 

    startActivity(new Intent(getApplicationContext(), LoginActivity.class)); 
    inputName.setText(""); 
    inputEmail.setText(""); 
    inputPassword.setText(""); 
    } 
     else Toast.makeText(RegisterActivity.this, "Error please try again!", 
       Toast.LENGTH_SHORT).show(); 
    } 

    }; 

답변

3

:

if(data1 != null && data2 != null && data3!= null) 

사람들은 단지 빈 문자열 ("")하지 null 있습니다. 이것은 항상 사실입니다.

+0

끄기 : 정말 멋진 이름이 있습니다. 어떻게했는지 궁금합니다. – Ridcully

+0

두 개 또는 세 개의 유니 코드 문자가 있습니다. 나머지는 모두 보통 글자입니다.) – slezica

+0

그래, 이제 알 겠어. 어떻게 든 "거울/거꾸로 된"특수 문자를 주입했다고 생각했는데 :-) 그 특별한 이름 축하해. – Ridcully

0

사용 당신의 도움이 답변을 TextUtils.isEmpty(string)

if (!TextUtils.isEmpty(data1) && !TextUtils.isEmpty(data2) && !TextUtils.isEmpty(data2)) { 
     Log.d(TAG, "All three Strings are not empty or null!"); 
    } 
0

감사 olso 수는, 나는 내 문제를 해결 한 것 같아요! 내 솔루션이 다른 사람을 돕기를 바랍니다!

@Override 
    public void onClick(View arg0) { 
    // TODO Auto-generated method stub 
    String data1 = inputName.getText().toString(); 
    String data2 = inputEmail.getText().toString(); 
    String data3 = inputPassword.getText().toString(); 

    boolean invalid = false; 

    if(data1.equals("")){ 
     invalid = true; 
     Toast.makeText(getApplicationContext(), "Username Missing", Toast.LENGTH_SHORT).show(); 
    }else if(data2.equals("")){ 
     invalid = true; 
     Toast.makeText(getApplicationContext(), "Email ID Missing", Toast.LENGTH_SHORT).show(); 
    }else if(data3.equals("")){ 
     invalid = true; 
     Toast.makeText(getApplicationContext(), "Password Missing", Toast.LENGTH_SHORT).show(); 
    } 

    if(invalid == false){ 
     mySQLiteAdapter.insert(data1, data2, data3); 
      updateList(); 
      Toast.makeText(RegisterActivity.this, "You are now registered", 
        Toast.LENGTH_SHORT).show(); 

     Intent i_register = new Intent(RegisterActivity.this, LoginActivity.class); 
     startActivity(i_register); 

     inputName.setText(""); 
     inputEmail.setText(""); 
     inputPassword.setText(""); 
     finish(); 
    } 

    /*mySQLiteAdapter.insert(data1, data2, data3); 
    updateList(); 
    Toast.makeText(RegisterActivity.this, "You are now registered", 
      Toast.LENGTH_SHORT).show(); 

    startActivity(new Intent(getApplicationContext(), LoginActivity.class));*/ 


    } 

    };