Android String.equals werkt niet wanneer ik probeer te matchen met httpresponse

RestClient.post("auth/login/", loginparam, new AsyncHttpResponseHandler() {
    @Override
    public void onSuccess(String s) {
        Toast.makeText(getApplicationContext(),
            String.valueOf(s.toLowerCase().equals("ok")), 
            Toast.LENGTH_LONG).show();
        if (s.equals("ok")) {
            startActivity(new Intent(getApplication(), HomeActivity.class));
        }
    }
});

Dit is de code die ik heb gebruikt om in te loggen in de Android-app. In de Toast-tekst kan ik zien dat de server "ok" is teruggekeerd, maar s.equals is altijd mislukt in mijn geval, kan iemand dat uitleggen? Dank je.

0

1 antwoord

probeer het geval te negeren, zoals dit:

if( s.compareToIgnoreCase("ok") == 0) {
   startActivity...
0
toegevoegd
Dat is grappig, daar heb ik niet aan gedacht! Sorry, ik heb geen beter idee.
toegevoegd de auteur Alan Moore, de bron
Probeerde dit, werkte nog steeds niet.
toegevoegd de auteur user469652, de bron
Ik heb de reden gevonden, eigenlijk is de server "\" "ok" \ "" teruggegeven, kun je een manier voorstellen om te valideren dat een gebruiker is ingelogd? Ik hou niet van de manier waarop ik bezig ben.
toegevoegd de auteur user469652, de bron