2011-03-10 3 views
0

J'ai si la condition pour la valeur de l'enregistrement textview mais il arrive encore que la condition d'autreValeur de contrôle en mode texte

ce que je fait de mal, pourquoi ne pas si la condition même si je l'ai set lang = espace

private void setLangTitle() { 
    lang.setText(" "); 
    db.open(); 
    Cursor cc = db.getLangAct(); 
    cc.moveToFirst(); 
    int index = cc.getColumnIndex(DBAdapter.KEY_LANG); 
    while (cc.isAfterLast() == false) { 

     if(lang.equals(" ")){ 
      lang.append("p"+cc.getString(index)); 
      cc.moveToNext(); 
     } 
     else { 
      lang.append("/" + cc.getString(index)); 
      cc.moveToNext(); 
     } 
    } 
    db.close(); 
} 

Répondre

5

Vous vérifiez actuellement si lang est égal à un espace. Si lang est un TextView, il ne sera pas égal au caractère espace car il s'agit d'un objet TextView et non d'une chaîne. Vous voulez probablement tester si le texte étant affiché sur lang est égal au caractère d'espace, ce qui serait quelque chose le long des lignes de:

if (lang.getText().toString().equals(" ")) { 
    ... 
} 
1

vous devez utiliser

if(lang.getText()equals(" ")){ 
    ... 
} 

Vous n'étiez pas en comparant les textes, vous compariez des objets. Et, bien sûr, un TextView ne doit pas (ne devrait pas) comparer égal à une chaîne.

2

Je suppose que lang est votre objet TextView? Ensuite, vous devez utiliser lang.getText().toString()

Questions connexes