LayoutParams stürzt ab

A

AquaBall

Fortgeschrittenes Mitglied
2
Ich hab einen sehr einfachen Programmteil, bring ihn aber nicht zum Laufen:

Code:
            img= (ImageView) findViewById(R.id.meinBild);
            LayoutParams lp= new LayoutParams(20, 10);  // später: variabel
            try {  // (Nur für die Fehlersuche: abfangen)
                img.setLayoutParams(lp);
            } catch (Exception e) {
            }
Code:
    <ImageView
        android:id="@+id/skala"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/meinbild" />
Das Bild existiert, und wird korrekt angezeigt.
Das setLayoutParams aber stürzt immer ab, (sogar mit try,catch, was ich schon gar nicht verstehe).

Fehlermeldung:
Code:
04-30 19:24:11.386: E/AndroidRuntime(2322):
 java.lang.ClassCastException: android.view.ViewGroup$LayoutParams
     at android.widget.LinearLayout.measureVertical(LinearLayout.java:360)
     at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
     at android.view.View.measure(View.java:8313)
     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
     at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
     at android.view.View.measure(View.java:8313)
     ...
 
Falscher import

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
  • Danke
Reaktionen: AquaBall
Genial.

Hätt' ich wohl lange gesucht. (bzw. hab ja schon ewig gesucht.)

Woran hast du das rausgelesen?
 
weil

1) war ich auch mal anfänger
2) gibts zu jedem anfänger problem hier mindestens 3 gleiche threads :D von daher hab ich alles schon sehr oft gesehen
 
Du hast aber nicht aus dem Fehlerprotokoll etwas konkretes erkannt, oder?
 
Die ClassCastException liefert nur einen Hinweis.
Aber man braucht schon eine frisch polierte Kristallkugel und den Fehler festzunageln.
Gut das Swordi gerade eine parat hatte :D
 
Naja, wenn jemand im Code LayoutParams verwendet und es danach kracht oder nicht läuft wie es soll, kannst du 99% davon ausgehen, daß die falschen LayoutParams verwendet / importiert wurden. Dafür brauchste keine Kristallkugel ;-)
 
Was ich aber immer noch nicht verstehe, ist, warum try-catch das nicht abfängt.
 
Das liegt daran, dass das Objekt erst später (erfolglos) gecastet wird (du sicherst nur die Parameter-Übergabe) . Das kann man an dem Stacktrace sehen: du bist da irgendwo in "onMeasure" ...
 

Ähnliche Themen

S
Antworten
8
Aufrufe
512
swa00
swa00
P
Antworten
6
Aufrufe
1.082
Phillip1996
P
Zurück
Oben Unten