Linia 62:
if(t.getString() == str)
Powinno być:
if(t.getString().equals(str))
Bo chcesz porównać "wartości" stringów, a nie czy referencje wskazują na ten sam obiekt...
Po tej zmianie wydaje się działać ale na Twoim miejscu zrobiłbym jakąś refaktoryzację tego kodu... Bo za dobrze to to nie wygląda :D
Pozdrawiam,