奇怪的异常 - java.lang.RuntimeException:LinearLayout的mBaselineAlignedChildIndex设置为超出范围的索引

时间:2010-12-07 15:37:01

标签: android exception android-linearlayout

我读到这个异常意味着我添加了一个没有孩子的LinearLayout,但我检查了可疑的布局,它有21个孩子。 在怀疑布局(主要)被添加到屏幕之后似乎没有引发异常,所以我猜它有一个嵌套的linearlayout没有子节点,但是有很多嵌套在其中的线性布局 - 所以有一个快速找到哪一个或以其他方式调试这个的方法?

由于

PS:似乎当我单步执行此代码时,我经常会“内存不足”,eclipse也会崩溃。

PPS: 以下是错误日志中的异常堆栈:

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)

2 个答案:

答案 0 :(得分:1)

好的,我想我通过添加IF来修复它:

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

答案 1 :(得分:0)

我遇到了同样的问题,解决了在不包含子项的LinearLayout上调用以下代码:

ll.setBaselineAligned(false);