Witam
Nie wiem czemu program nie reaguje na prosty warunek, zaznaczony na czerwono.
Poniżej fragment kodu:
if(prefix.getInt(0)>1){
String nameImga=""+prefix.getString(1);
Log.d("menuVAR", "'"+[color="#FF0000"]nameImga[/color]+"' - "+prefix.getInt(0));
if([color="#FF0000"]nameImga=="audio_down"[/color]){audio_down=prefix.getInt(0);Log.d("menuVAR", "TAK");}
if([color="#FF0000"]nameImga=="audio_upp"[/color]){audio_upp=prefix.getInt(0);Log.d("menuVAR", "TAK");}
if([color="#FF0000"]nameImga=="spk_on"[/color]){spk_on=prefix.getInt(0);Log.d("menuVAR", "TAK");}
if([color="#FF0000"]nameImga=="spk_off"[/color]){spk_off=prefix.getInt(0);Log.d("menuVAR", "TAK");}
if([color="#FF0000"]nameImga=="stop"[/color]){stop=prefix.getInt(0);Log.d("menuVAR", "TAK");}
if([color="#FF0000"]nameImga=="prev"[/color]){prev=prefix.getInt(0);Log.d("menuVAR", "TAK");}
if([color="#FF0000"]nameImga=="next"[/color]){next=prefix.getInt(0);Log.d("menuVAR", "TAK");}
if([color="#FF0000"]nameImga=="pause"[/color]){pause=prefix.getInt(0);Log.d("menuVAR", "TAK");}
if([color="#FF0000"]nameImga=="play"[/color]){play=prefix.getInt(0);Log.d("menuVAR", "TAK");}
if([color="#FF0000"]nameImga=="shuffle_on"[/color]){shuffle_on=prefix.getInt(0);Log.d("menuVAR", "TAK");}
if([color="#FF0000"]nameImga=="shuffle_off"[/color]){shuffle_off=prefix.getInt(0);Log.d("menuVAR", "TAK");}
if([color="#FF0000"]nameImga=="power"[/color]){power=prefix.getInt(0);Log.d("menuVAR", "TAK");}
if([color="#FF0000"]nameImga=="exit"[/color]){exit=prefix.getInt(0);Log.d("menuVAR", "TAK");}
this.mScene.registerTouchArea(button_m[prefix.getInt(0)]);
}
prefix.getString(1) jest to zmienna String odczytana z bazy danych, którą przepisuję do zmiennej nameImga.
Do całości dodałem już logi, żeby zobaczyć co się dzieje.
Log menuVAR pokazuje, że zmienna jest odczytywana prawidłowo, ale w dalszych warunkach nie działa poprawnie.
Przykładowe logi:
'audio_down' - 2
'audio_upp' -3
'spk_on' - 4
itd.
Logi menuVAR , które są wewnątrz warunków już nie są wykonywane mimo, że zmienna nameImga jest równa wartości w cudzysłowiu. Przez co też nie są wpisywane wartości prefix.getInt(0) do danych zmiennych.
Żeby wyeliminować ewentualny problem ze spacjami w zmiennej, umieściłem ją w cudzysłowiu w logach. Pokazuje to, że spacji brak, a warunki nie działają...