Android Problemchen

Status
Nicht offen für weitere Antworten.

Someone

Mitglied
Ich habe die Klasse RelativeLayout abgeleitet und die onMeasure Methode überschreiben.
Jetzt bekomme ich eine ClassCastException aus der Oberklasse (RelativeLayout) wenn ich in meiner Überschreibenen onMeasure die von der Oberklasse aufrufe.

Java:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
	super.onMeasure(widthMeasureSpec, heightMeasureSpec);
	if(edit != null)
		edit.setWidth(MeasureSpec.getSize(widthMeasureSpec));
}

edit ist dabei eine instanz von EditText.

So weit so gut bis hierhin ist es noch einfach!
Im Konstruktor wo ich edit initialisiere hänge ich einen OnTouchListener an. In diesem Listener generiere ich eine RadioGroup und füge dort im moment zwei RadioButton elemente an und gebe denen ein margin.

Das mache ich mit dieser Methode:
Java:
private void setMarginTop(View view, int top) {
	MarginLayoutParams margin = new MarginLayoutParams(view.getLayoutParams());
	margin.setMargins(0, top, 0, 0);
	LayoutParams layout = new RelativeLayout.LayoutParams(margin);
	view.setLayoutParams(layout);
}

Wenn ich das ganze aufrufe klappt es (scheinbar) problemlos:
Java:
String[] opt = {"foo", "bar"};
RadioGroup rg = new RadioGroup(context);
addView(rg);
for(int i = 0; i < opt.length; i++) {
	RadioButton r = new RadioButton(context);
	rg.addView(r);
	r.setText(opt[i]);
	setMarginTop(r, 5);
}

Allerdings knallt es später dann bei onMeasure wenn super.onMeasure aufgerufen wird.

Wer kann mir helfen?
Ich suche schon seit Stunden nach einer Lösung.

Halb Offtopic:
Weiß jemand wie ich an den source code von android dran kommt, so das ich mir die Exception im Framework angucken kann? (Ich weiß das soll irgendwie mit git gehen, wie ist mir allerdings ein Rätzel)
 

Michael...

Top Contributor
ClassCastException aus der Oberklasse (RelativeLayout) wenn ich in meiner Überschreibenen onMeasure die von der Oberklasse aufrufe.
Die Exception wird von der Superklasse geworfen? Wie lautet sie denn?
Weiß jemand wie ich an den source code von android dran kommt, so das ich mir die Exception im Framework angucken kann? (Ich weiß das soll irgendwie mit git gehen, wie ist mir allerdings ein Rätzel)
Da der Sourcecode nicht mit ausgeliefert wird und ein dekomplieren (wenn ich die Lizenzbedingungen richtig verstehe) nicht gestattet ist, sieht's wohl schlecht aus mit mal in den SourceCode schauen.
 

Someone

Mitglied
Die Exception wird von der Superklasse geworfen? Wie lautet sie denn?
Wie oben erwähnt heißt sie schlicht weg ClassCastException

Java:
Uncaught handler: thread main exiting due to uncaught exception
java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams
       at android.widget.LinearLayout.measureVertical(LinearLayout.java:326)
       at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)
       at android.view.View.measure(View.java:7115)
       at android.widget.RelativeLayout.measureChild(RelativeLayout.java:425)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:280)
       at mein.projekt.MyLayout.onMeasure(DefaultSpinner.java:135)
       at android.view.View.measure(View.java:7115)
       at android.widget.RelativeLayout.measureChild(RelativeLayout.java:425)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:280)
       at android.view.View.measure(View.java:7115)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2875)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
       at android.view.View.measure(View.java:7115)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2875)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
       at android.view.View.measure(View.java:7115)
       at android.widget.LinearLayout.measureVertical(LinearLayout.java:464)
       at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)
       at android.view.View.measure(View.java:7115)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2875)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
       at android.view.View.measure(View.java:7115)
       at android.view.ViewRoot.performTraversals(ViewRoot.java:698)
       at android.view.ViewRoot.handleMessage(ViewRoot.java:1482)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:123)
       at android.app.ActivityThread.main(ActivityThread.java:3948)
       at java.lang.reflect.Method.invokeNative(Native Method)
       at java.lang.reflect.Method.invoke(Method.java:521)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
       at dalvik.system.NativeStart.main(Native Method)

@Distax
Ja ich weiß das man es dort bekommt, allerdings habe ich nicht verstanden wie das gehen soll. Vorallem wie man es dann in eclipse reinbekommt. Ich zweifele mal an das man damit eine Zip-Datei erzeugt die man einbinden kann.
 

Someone

Mitglied
Was den Sorcecode angeht ich habe es noch immer nicht hinbekommen. In der VM habe ich immer eine Fehlermeldung.

Für alle die das gleiche Problem haben: Einfach padding verwenden! Es ist weniger Code und einfacher. Wenn man es unter ein anders Element verstecken möchte ist es wichtig dabei ist das man beim AddView() als zweiten Parameter den index 0 angibt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Reverse engineering Android App Allgemeine Java-Themen 4
L Aufwandsabschätzung: Android-App Aufnahmefunktion (foto) und zweiter Ebene über dem Foto (teiltransparent) Allgemeine Java-Themen 6
A Autostart android App Allgemeine Java-Themen 4
J Key Keystore Certificate Java Android Development Allgemeine Java-Themen 1
A Rechner in Android Studio Allgemeine Java-Themen 2
M Java – Warum kann ich plötzlich bei Android Studio Grafische Benutzeroberflächen mit der Maus gestalten? Allgemeine Java-Themen 5
G Liste (UsageStats) sortieren (Android) Allgemeine Java-Themen 5
S Bibliothek gleichzeitig fuers JDK und Android entwickeln Allgemeine Java-Themen 8
R Android Daten online senden Allgemeine Java-Themen 0
The Pi Android TextView richtig formatieren Allgemeine Java-Themen 1
P Java Android Code in IOS compilieren? Allgemeine Java-Themen 9
MTJ004 FTP Frage zu FTP Speicherung Java-Android-FTP Allgemeine Java-Themen 5
M Eclipse Android Kontakte XML Allgemeine Java-Themen 2
J Threads HTTP Request (Thread) dauert lange - in Android Allgemeine Java-Themen 3
T Android Webview Webpage Quellcode to string Allgemeine Java-Themen 0
A Kann String nicht vergleichen (Android) Allgemeine Java-Themen 4
L Challenge-Response mit Android und QR Allgemeine Java-Themen 10
B [Android] EditText-Object ist null - Nimmt nicht den Wert des enthaltenen Textfeldes ein Allgemeine Java-Themen 2
A Suche Android Programmierer Allgemeine Java-Themen 0
A Android App Projekt Allgemeine Java-Themen 0
M Android Programmieren Allgemeine Java-Themen 11
S Android: SQLite Framework einbinden Allgemeine Java-Themen 2
S Android: Verlinkung in einem TextView Allgemeine Java-Themen 3
S Android: Sprache wechseln Allgemeine Java-Themen 7
X Image Processing libary für JavaSE und Android Allgemeine Java-Themen 2
GUI-Programmer Java Forum Scrollen mit Android Allgemeine Java-Themen 9
R [Android]Wie dynamischen Button-Feld erstellen? Allgemeine Java-Themen 3
M Realisierung einer dynamischen Tabelle unter Android Allgemeine Java-Themen 3
G Java Android Development HILFE !! Allgemeine Java-Themen 2
A Textdateiname Problemchen Allgemeine Java-Themen 5
S Selenium Problemchen Allgemeine Java-Themen 2
W Applet Problemchen Allgemeine Java-Themen 9
R Problemchen (unexpected error) Allgemeine Java-Themen 2
G mit Pattern strings filtern ein kleines problemchen ;) Allgemeine Java-Themen 2
L Eigener Onlinestunden- Zähler / Problemchen Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben