• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wykluczające się metody, w czym problem ? - walidacja maila i sprawdzanie pustych pol [Android]

+1 głos
914 wizyt
pytanie zadane 17 stycznia 2016 w Java przez Swierzak Użytkownik (690 p.)

Witam

Jestem początkujący i zdaje sobie sprawy, że poniższy kod mógłby być lepiej napisany i błąd, który tu występuje jest pewnie błahy ;) Proszę o wyrozumiałość

Otóż na początku miałem jedynie metodę, która sprawdzała czy pole formularza rejestracji nie są puste. Kiedy dodałem metodę sprawdzającą poprawność wprowadzonego maila, ta pierwsza metoda się nie wywołuje.

 

public class ActivityRejestracja extends AppCompatActivity {
    private EditText emailEditText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_rejestracja);
        emailEditText = (EditText) findViewById(R.id.email);

        findViewById(R.id.BtnZarejestruj).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {

                final String email = emailEditText.getText().toString();
                if (!isValidEmail(email)) {
                    emailEditText.setError("Podaj adres e-mail");
                }
            }
        });
    }

    private boolean isValidEmail(String email) {
        String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
                + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

        Pattern pattern = Pattern.compile(EMAIL_PATTERN);
        Matcher matcher = pattern.matcher(email);
        return matcher.matches();
    }

    public void rejestracja(View view) {
        EditText login, password, password1,email;
        login = (EditText) findViewById(R.id.UsernameRej);
        password = (EditText) findViewById(R.id.PasswordRej);
        password1 = (EditText) findViewById(R.id.PasswordRej1);
        email = (EditText) findViewById(R.id.email);

        if ((login.getText().toString().trim().equals(""))) {
            login.setError("Podaj login!");
            //Toast.makeText(getApplicationContext(), "Podaj login!", Toast.LENGTH_SHORT).show();
        }
        else if ((email.getText().toString().trim().equals(""))) {
            email.setError("Podaj adres e-mail!");
            //Toast.makeText(getApplicationContext(), "Podaj adres e-mail!", Toast.LENGTH_SHORT).show();
        } else if ((password.getText().toString().trim().equals(""))) {
            password.setError("Podaj hasło!");
            //Toast.makeText(getApplicationContext(), "Podaj hasło!", Toast.LENGTH_SHORT).show();
        } else if ((password1.getText().toString().trim().equals(""))) {
            password1.setError("Powtórz hasło!");
            //Toast.makeText(getApplicationContext(), "Powtórz hasło!", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, "Zarejestrowano pomyślnie!", Toast.LENGTH_SHORT).show();
            Intent intent = new Intent(this, MainActivity.class);
            startActivity(intent);
        }

    }
}

 

1 odpowiedź

0 głosów
odpowiedź 17 stycznia 2016 przez Swierzak Użytkownik (690 p.)

Wszystko już się kompiluje ! nie napisze, że działa bo to prowizorka i patrząc w kod wygląda to tragicznie :) ale pożądany efekt otrzymałem.
Podpiąłem te if'y z metody "rejestracja" do metody "onClick"

Podobne pytania

0 głosów
1 odpowiedź 298 wizyt
+1 głos
2 odpowiedzi 1,220 wizyt
pytanie zadane 28 lutego 2016 w JavaScript przez Filip2248 Dyskutant (8,840 p.)
0 głosów
1 odpowiedź 878 wizyt

93,762 zapytań

142,717 odpowiedzi

323,368 komentarzy

63,359 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...