Witam wszystkich. Od niedawna programuje w androidzie. Zrodził mi się taki problem i prosilbym o pomoc. Otóż tworze grę podobną do milionerów - obrazek i 4 odpowiedzi. Czesc kodu zamieszczam ponizej:
final ImageView img = (ImageView)findViewById(R.id.zadanie1);
final ImageView dobrze = (ImageView)findViewById(R.id.dobrze);
dobrze.setImageLevel(0); // obrazek 0)nic, 1)dobrze, 2)zle
img.setImageLevel(1);
for(int i=1; i<=10; i++)
{
img.setImageLevel(i);
//Akcja po nacisnieciu przyciski 1
odp1.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v1)
{
boolean answer1 = false;
if(answer1 == true){
dobrze.setImageLevel(1);
}
else
dobrze.setImageLevel(2);
}
});
//Akcja po nacisnieciu przycisku 2
odp2.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v2)
{
boolean answer2 = true;
if (answer2 == true)
dobrze.setImageLevel(1);
else
dobrze.setImageLevel(2);
}
});
Kolejny poziom image, to kolejny obraz z pytaniem. Wartości answer1/2 beda podawane automatycznie, gdy znajde sposob na zapisanie gdzies wartosci poprawnych odpowiedzi i ich zmiane w zaleznosci od numeru pytania.
Problem polega na tym, że po uruchomieniu programu nie ukazuje mi się żaden obrazek przewidziany dla zmiennej image. Gdy podstawiam do setImageLevel(b), gdzie b to nowo stworzony int, wszystko działa, tylko, że zależy mi na inkrementacji przy każdym obiegu pętli.
- Próbowałem również zaimplementować zmienną int poza pętlą, lecz wyskakiwał komunikat, że mogę jej użyć wewnątrz pętli i innych instrukcji, tylko gdy przypisze jej 'final'. Tylko gdy zmienna ma taki przedrostek, to nie mogę zmieniać już jej wartości (sprawdziłem). Czy jest wobec tego jakis sposob, aby mozna bylo wykorzystywac zmienna wewnatrz innych instrukcji i moc zmieniac jej wartosc?? Gdy wpisywałem inne przedrostki, wyskakiwal komunikat, ze tylko 'final' jest mozliwe.
Pomocy!!