# OnRatingBarChangeListener gibt keine Reaktion



## JavaJuengling (16. Feb 2017)

Hallo, ich benötige in einer App einen OnRatingBarChangeListener, den ich wie folgt geschrieben habe:

```
bewertung.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
    @Override
    public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
        rating = bewertung.getNumStars();

        if (rating == 1) {
            Uebergeben_Sterne = "eins";
        }

        if (rating == 2) {
            Uebergeben_Sterne = "zwei";
        }

        if (rating == 3) {
            Uebergeben_Sterne = "drei";
        }

        if (rating == 4) {
            Uebergeben_Sterne = "vier";
        }

        if (rating == 5) {
            Uebergeben_Sterne = "fünf";
        }
    }
});
```

Leider funktioniert er nicht, woran könnte das liegen?
mfg JavaJuengling


----------



## Robat (16. Feb 2017)

JavaJuengling hat gesagt.:


> Leider funktioniert er nicht, woran könnte das liegen?


Meine Zauberkugel ist leider kaputt gegangen. Könntest du mir bitte zeigen wie genau du dein `bewerten` Object initialisierst?

Und die Ausage: `Leider funktioniert er nicht` müsstest du bitte auch noch mal genauer erklären. Kommt ein RuntimeError? CompilerError? Kommt überhaupt einer? Wenn ja bitte Stacktrace posten.

Gruß Robert


----------



## Frithjof (25. Apr 2017)

Mein Tipp: 

```
bewertung.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
    @Override
    public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
Log.i("Bewerten" + "in Methode");
        rating = bewertung.getNumStars();

        if (rating == 1) {
            Uebergeben_Sterne = "eins";
Log.i("Bewerten" + "in if 1");
        }

        if (rating == 2) {
Log.i("Bewerten" + "in if2");
            Uebergeben_Sterne = "zwei";
        }

        if (rating == 3) {
Log.i("Bewerten" + "in if 3");
            Uebergeben_Sterne = "drei";
        }

        if (rating == 4) {
            Uebergeben_Sterne = "vier";
Log.i("Bewerten" + "in if 4");
        }

        if (rating == 5) {
Log.i("Bewerten" + "in if 5");
            Uebergeben_Sterne = "fünf";
        }
    }
});
```
Dann nach Bewerten im Android Monitor filtern.
Das ist sowas wie ein Debuger für Runaways  
Denk dran wenn du in einer Inneren Klasse bist oder   Uebergeben_Sterne  nicht durch die Methode verändert werden kann weil es z.B in einem Listener ausgeführt wird, dann wird es schwirig Werte nach oben zu geben. 
Da würde ich vlt ein final verwenden.


----------



## Robat (25. Apr 2017)

Glaubst du nicht dass er woanders schon Hilfe gefunden hat? Schließlich ist das 2 Monate her


----------

