2016-04-29 4 views
3
saveBtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      questionStr = String.valueOf(questionET.getText()); 
      answerOneStr = String.valueOf(ansOneET.getText()); 
      answerTwoStr = String.valueOf(ansTwoET.getText()); 
      answerThreeStr = String.valueOf(ansThreeET.getText()); 
      answerFourStr = String.valueOf(ansFourET.getText()); 
      correctAnswerStr = String.valueOf(correctAnsET.getText()); 
      if (questionStr == null || answerOneStr == null || answerTwoStr == null || correctAnswerStr == null) { 
       Toast.makeText(getApplicationContext(), "Please Fill Fields ", Toast.LENGTH_SHORT).show(); 
      } else { 
       questionManagerObject.InsertIntoQuestions(questionStr, answerOneStr, answerTwoStr, answerThreeStr, answerFourStr, correctAnswerStr, questionTableSubjectId); 
       Toast.makeText(getApplicationContext(), "Question Saved ", Toast.LENGTH_SHORT).show(); 
      } 
     } 
    }); 

diese speichern die Schaltfläche Code speichern ... Ich habe versucht, null zu ändern „zu leeren“, aber es gibt keine Änderungenich versuche, mit diesem Code speichern leere Datensätze in der Datenbank zu vermeiden, aber auch leere Datensätze

+1

Vielleicht wird dies etwas Licht? http://stackoverflow.com/questions/531779/comparing-a-string-with-the-empty-string-java – karina

+1

android sdk bietet 'TextUtils': Es hat' isEmpty() 'Methode. Es ist ein einfacher String-Null-Checker. Probieren Sie diese 'TextUtils.isEmpty (questionStr)' bei 'if' Anweisungen aus. – myoungjin

+0

nein, es hilft nicht, wenn der Benutzer einen Raum eingeben wird es gespeichert werden –

Antwort

1

Versuchen sie diese Methode:

private boolean isEmpty(String str) 
{ 
    if (str == null || str.trim().isEmpty()) 
    { 
     return true; 
    } 
    return false; 
} 

es dann in Ihrem Code verwenden:

if (isEmpty(questionStr) || isEmpty(answerOneStr) || 
    isEmpty(answerTwoStr) || isEmpty(answerThreeStr) || 
    isEmpty(answerFourStr) ||isEmpty(correctAnswerStr)) 
{ 
    // your code 
} 
+0

@Eslam die Trimmung() wird den Trick für Sie tun –

+1

Vielen Dank sehr, sehr, Ihre Antwort hat mir geholfen –

+0

Ich würde die Standardfunktion verwenden stattdessen: 'TextUtils.isEmpty()'. Siehe [doc] (http://developer.android.com/intl/es/reference/android/text/TextUtils.html#isEmpty (java.lang.CharSequence)). Die Eingabezeichenfolge sollte jedoch getrimmt werden. – kazbeel

0

Ersetzen Sie Ihre leere Überprüfung durch die:

if (questionStr == null && answerOneStr == null 
      && answerTwoStr == null && correctAnswerStr == null) { 
    Toast.makeText(getApplicationContext(), "Please Fill Fields ", Toast.LENGTH_SHORT).show(); 
} 
Verwandte Themen