View-Reihenfolge ändern führt zu Absturz

A

AquaBall

Fortgeschrittenes Mitglied
2
Ich bastle an einem CustomView, das an sich funktioniert.
Aber wenn ich es verschiebe stürzt Activity ab.

Ich kann nicht alles posten (will ich niemandem zumuten).
Aber seltsamerweise hängt der Fehler von der POSITION der Views in einem ganz normalen LinearLayout ab?!

Der Code hier ist so banal, dass es mir fast peinlich ist, ihn zu posten,
aber die Probleme treten NUR auf, wenn ich allein die Reihenfolge im XML ändere!?!?!
Folgende Variante funktioniert problemlos:
HTML:
        <EditText
            android:id="@+id/Ed3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="text" />
        <at.TyE.Test.HorizontalSlider
            android:id="@+id/skala"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/mybar" />
        <EditText
            android:id="@+id/Ed4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="text" />
        <EditText
            android:id="@+id/Ed5"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="text" />
und Verschieben meines CustomViews um 1 Stelle stürzt schon beim Starten ab!
HTML:
        <EditText
            android:id="@+id/Ed3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="text" />
        <EditText
            android:id="@+id/Ed4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="text" />
        <at.TyE.Test.HorizontalSlider
            android:id="@+id/skala"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/mybar" />
        <EditText
            android:id="@+id/Ed5"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="text" />
FehlerProtokoll:
Code:
Shutting down VM
05-03 01:20:04.543: W/dalvikvm(648): threadid=1: thread exiting with uncaught exception (group=0x40015560)
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{at.TyE.Test/at.TyE.Test.SliderTest}: java.lang.ClassCastException: android.widget.EditText
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassCastException: android.widget.EditText
at at.TyE.Test.SliderTest.onCreate(SliderTest.java:23)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
     ... 11 more
Ich hab schon alles auskommentiert,
90% gelöscht.
Dann geht's wieder einmal an einer Stelle und an einer anderen nicht, ...
Hab schon Java und AVD neu gestartet,
...
Ich weiß nicht wie ich noch suchen könnten.
(Die Funktionalität des CustomViews ist ja in Ordnung, sofern das Programm überhaupt startet.)
Übrigens: Meine Classe macht nichts was irgendwie mit Reihenfolge zu tun hat. Das einzig "exotisch" ist, dass sie ein ImagwView dynamisch anlegt.
Aber auch wenn ich fast alles auskommentiere stürzt er bei Änderung der Reihenfolge ab.

Die Probleme treten NUR auf, wenn ich die Reihenfolge der Views im XML ändere!?!?!
 
hmm ist eigentlich sehr komisch

ich würde mal behaupten ein project -> clean wird das lösen
 
  • Danke
Reaktionen: AquaBall
Swordi du bist (fast) genial!

Jetzt funktioniert's (fast).

Nach einem Clean läuft es (vorübergehend) "problemlos". Wenn ich dann aber WIEDER verschiebe stürzt er wieder ab.

Also, hier ein ultrakurz Log: ("34c5" bedeutet die Reihenfolge der Views)
HTML:
Konstellation: 34c5 -> läuft
View verschieben: 3c45 -> Absturz
Rückverschieben: 34c5 -> läuft
View verschieben: 3c45 -> Absturz
Clean ohne Verschieben: (3c45) - LÄUFT
Rückverschieben: 34c5 -> ABSTURZ (obwohl selbe Konstellation oben lief)
Clean: 34c5 -> läuft
Also zumindest hab ich nun (dank deiner Hilfe!) einen Weg wie ich es zum Laufen bringe.
Aber irgendwie verunsichert mich das schon, ob Java oder Eclipse hier einen Bug hat, oder an meiner Programmierung etwas so schräg sein kann?
(Das AVD kann ich als Fehlerquelle ausschließen, weil sich die apk am Handy auch gleich verhält.)

Würd' mich interessieren, ob das an anderen Rechnern sich auch so verhält.

Ich befürchte auch, dass ich das Verhalten nicht ignorieren darf, weil das View später nicht statisch an eine fixen Platz im XML-steht, sondern dynamisch irgendwo erstellt wird. (Aber vielleicht entsteht bei der dynamischen Erstellung das Problem gar nicht? später mal sehen).
 
Sieht wohl so aus, als würde deine R-Klasse nicht aktualisiert / neu gebaut werden. Deswegen kommt dann auch der ClassCastException.

Wird bei dir immer neu gebaut, wenn du abspeicherst? Oder hast du Build Automatically deaktiviert? Manchmal gehts auch nicht ohne Clear, aber das hat Swordi ja schon geschrieben.
 
An der R-Classe hab ich natürlich nichts geschraubt. Würd ich nie wagen.
Und Build Automatically hab ich auch nicht verstellt. (wüsste gar nicht wo).

Es laufen ja auch alle anderen Projekte problemlos.
 

Ähnliche Themen

D
Antworten
14
Aufrufe
1.704
chrs267
chrs267
C
  • Chicken Wing
Antworten
4
Aufrufe
851
Chicken Wing
C
Vapeilas91
  • Vapeilas91
Antworten
3
Aufrufe
698
swa00
swa00
Zurück
Oben Unten