2010-12-07 31 views
2

J'ai lu que cette exception signifie que j'ai ajouté un LinearLayout qui n'avait pas d'enfants mais j'ai vérifié la mise en page suspectée et il a 21 enfants. L'exception ne semble pas se soulevé qu'après la mise en page suspectée (principale) est ajouté à l'écran donc je suppose qu'il a un LinearLayout imbriqué a n'a pas d'enfants, mais il y a beaucoup de linearlayouts imbriqués là-dedans - il est donc un moyen rapide de trouver lequel ou de déboguer autrement?étrange exception - java.lang.RuntimeException: mBaselineAlignedChildIndex de LinearLayout mis à un index qui est hors limites

Merci

PS: semble quand je fais un pas à travers ce code, je reçois souvent « de mémoire » éclipse se bloque aussi.

PPS: Voici la pile d'exception à partir du journal d'erreur:

com.sun.jdi.InternalException: Got invalid data:java.io.UTFDataFormatException: Second byte input does not match UTF Specification 
at org.eclipse.jdi.internal.MirrorImpl.defaultIOExceptionHandler(MirrorImpl.java:269) 
at org.eclipse.jdi.internal.VirtualMachineImpl.allClasses(VirtualMachineImpl.java:370) 
at org.eclipse.jdi.internal.VirtualMachineImpl.allRefTypes(VirtualMachineImpl.java:382) 
at org.eclipse.jdi.internal.ReferenceTypeImpl.nestedTypes(ReferenceTypeImpl.java:1105) 
at org.eclipse.jdt.internal.debug.eval.ast.engine.BinaryBasedSourceGenerator.buildTypeDeclaration(BinaryBasedSourceGenerator.java:310) 
at org.eclipse.jdt.internal.debug.eval.ast.engine.BinaryBasedSourceGenerator.buildTypeDeclaration(BinaryBasedSourceGenerator.java:322) 
at org.eclipse.jdt.internal.debug.eval.ast.engine.BinaryBasedSourceGenerator.buildTypeDeclaration(BinaryBasedSourceGenerator.java:145) 
at org.eclipse.jdt.internal.debug.eval.ast.engine.BinaryBasedSourceGenerator.buildTypeDeclaration(BinaryBasedSourceGenerator.java:160) 
at org.eclipse.jdt.internal.debug.eval.ast.engine.BinaryBasedSourceGenerator.buildSource(BinaryBasedSourceGenerator.java:74) 
at org.eclipse.jdt.internal.debug.eval.ast.engine.EvaluationSourceGenerator.getInstanceSourceMapper(EvaluationSourceGenerator.java:204) 
at org.eclipse.jdt.internal.debug.eval.ast.engine.EvaluationSourceGenerator.getSource(EvaluationSourceGenerator.java:216) 
at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.getCompiledExpression(ASTEvaluationEngine.java:226) 
at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.evaluate(ASTEvaluationEngine.java:115) 
at org.eclipse.jdt.internal.debug.ui.JavaWatchExpressionDelegate$EvaluationRunnable.run(JavaWatchExpressionDelegate.java:144) 
at org.eclipse.jdt.internal.debug.core.model.JDIThread$ThreadJob.run(JDIThread.java:2751) 
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) 
+0

Pouvez-vous publier le code XML de la page en dehors? – Isaac

+0

Je peux mais il n'y a pas trop là-dedans, beaucoup de l'écran est fait par programmation. L'erreur se produit parfois mais pas toujours - fondamentalement l'écran affiche des données de film, mais l'erreur se produit pour certains films chaque fois et jamais pour les autres. donc je sais qu'il y a une corruption de données ou plus probablement juste quelque chose qui manque. Mais mon application ne devrait pas tomber en panne de toute façon. –

Répondre

1

Ok, je pense que je fixe par ading un IF comme ceci:

if (ratCast.getChildCount()>0) 
    imgLay.addView(ratCast); 
0

J'ai eu le même problème , résolu en appelant le code suivant sur le LinearLayout qui ne contient aucun enfant:

ll.setBaselineAligned(false);