2010-08-04 8 views
15

hat und auch diejenigen, die .length davon Überprüfung:Wie zu überprüfen, ob EditText Wert in Android/Java

EditText marketValLow = (EditText) findViewById(R.id.marketValLow); 
EditText marketValHigh = (EditText) findViewById(R.id.marketValHigh); 
if (marketValLow.getText().length() != 0 && marketValHigh.getText().length() != 0) { 
    Intent intent = new Intent(); 
    intent.setClass(v.getContext(), CurrentlyOwe.class); 
    startActivity(intent); 
} else { 
    Toast.makeText(CurrentMarketValue.this, "You need to enter a high AND low.", Toast.LENGTH_SHORT); 
} 

Aber es erkennt nicht, dass nichts eingegeben wurde. Irgendwelche Ideen?

Antwort

36

Bitte String-Wert vergleichen, nicht mit == aber equals():

String yourString = ; 
if (marketValHigh.getText().toString().equals("")) 
{ 
    // This should work! 
} 
+0

Wie ich oben sagte: Dies funktioniert, um die Progression zur nächsten Aktivität zu stoppen, aber mein Toast zeigt nicht. Irgendwelche Ideen? Danke! –

+1

Whoops, meine Schuld. Füge nicht .show()! –

+0

Verdammt ! also warum "==" ist hier falsch ?!: O –

0

Vielleicht so?

String value = editText.getText().toString(); 
if (value == "") 
{ 
    // your code here 
} 
+0

entweder nicht funktioniert. :( –

9

Dies wird überprüfen, ob das Bearbeiten von Text leer ist oder nicht:

if (marketValLow.getText().toString().trim().equals("")) 
{ 
} 
+0

Dies funktioniert, um die Progression zur nächsten Aktivität zu stoppen, aber mein Toast zeigt nicht.Jede Idee? Danke! –

+0

Toast.makeText (CurrentMarketValue.this, "Sie müssen eine hohe UND niedrige eingeben.", Toast.LENGTH_SHORT) .show(); Das wird funktionieren. –

2

Eher was Sie überprüfen können, ist wie :

String text = mSearchText.getText().toString(); 

if (!TextUtils.isEmpty(mSearchText.getText().trim())) { 
    // your code 
} 
0

Wenn es den Fortschritt zur nächsten Aktivität stoppt, aber den Toast nicht anzeigt, muss in Ihrer else-Anweisung etwas falsch sein. Hast du den Dev-Guide-Artikel zu Toast-Benachrichtigungen gelesen? Es ist unter Benutzeroberfläche -> Benachrichtigung des Benutzers -> Toast Benachrichtigungen erstellen.

0

Validierung ist etwas mühsam. Vielleicht kann ich Ihnen auf eine allgemeinere Weise helfen. Ich habe einen grundlegenden Rahmen zu validate fields in Android geschrieben.

Es ist völlig kostenlos, und Sie können damit machen, was Sie wollen.

0

schreiben Sie eine einfache Funktion innerhalb einer Klasse:

public static boolean isEditTextEmpty(EditText et){ 
     String s = et.getText().toString(); 
     return s.equals(""); // really empty.   
    } 

    public static boolean isEditTextInvisible(EditText et){ 
     String s = et.getText().toString(); 
     return s.trim().equals(""); // might have only spaces...   
    } 

OR ... mit positiver Logik:

public static boolean hasContentEditText(EditText et){ 
     String s = et.getText().toString(); 
     return s != null; // spaces will count.    
    } 
Verwandte Themen