Java 得到一个;非法初始容量错误“;
创建graphView()后获取此错误。我认为这与graphView()有关。奇怪的是,前一段时间一切都很好,然后我添加了两个新的活动,效果很好 这就是错误:Java 得到一个;非法初始容量错误“;,java,android,Java,Android,创建graphView()后获取此错误。我认为这与graphView()有关。奇怪的是,前一段时间一切都很好,然后我添加了两个新的活动,效果很好 这就是错误: E/AndroidRuntime: FATAL EXCEPTION: main Process: com.weightogo, PID: 10342 java.lang.IllegalArgumentException: Illegal initial capacit
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.weightogo, PID: 10342
java.lang.IllegalArgumentException: Illegal initial capacity: -4
at java.util.HashMap.<init>(HashMap.java:448)
at java.util.HashMap.<init>(HashMap.java:467)
at java.util.LinkedHashMap.<init>(LinkedHashMap.java:383)
at com.jjoe64.graphview.GridLabelRenderer.adjustHorizontal(GridLabelRenderer.java:947)
at com.jjoe64.graphview.GridLabelRenderer.adjustSteps(GridLabelRenderer.java:980)
at com.jjoe64.graphview.GridLabelRenderer.draw(GridLabelRenderer.java:1113)
at com.jjoe64.graphview.GraphView.drawGraphElements(GraphView.java:307)
at com.jjoe64.graphview.GridLabelRenderer.draw(GridLabelRenderer.java:1108)
at com.jjoe64.graphview.GraphView.drawGraphElements(GraphView.java:307)
at com.jjoe64.graphview.GraphView.onDraw(GraphView.java:336)
at android.view.View.draw(View.java:19192)
at android.view.View.updateDisplayListIfDirty(View.java:18142)
at android.view.View.draw(View.java:18920)
at android.view.ViewGroup.drawChild(ViewGroup.java:4236)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022)
at android.support.constraint.ConstraintLayout.dispatchDraw(ConstraintLayout.java:1963)
at android.view.View.updateDisplayListIfDirty(View.java:18133)
at android.view.View.draw(View.java:18920)
at android.view.ViewGroup.drawChild(ViewGroup.java:4236)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022)
at android.view.View.updateDisplayListIfDirty(View.java:18133)
at android.view.View.draw(View.java:18920)
at android.view.ViewGroup.drawChild(ViewGroup.java:4236)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022)
at android.view.View.updateDisplayListIfDirty(View.java:18133)
at android.view.View.draw(View.java:18920)
at android.view.ViewGroup.drawChild(ViewGroup.java:4236)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022)
at android.view.View.updateDisplayListIfDirty(View.java:18133)
at android.view.View.draw(View.java:18920)
at android.view.ViewGroup.drawChild(ViewGroup.java:4236)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022)
at android.view.View.updateDisplayListIfDirty(View.java:18133)
at android.view.View.draw(View.java:18920)
at android.view.ViewGroup.drawChild(ViewGroup.java:4236)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022)
at android.view.View.draw(View.java:19195)
at com.android.internal.policy.DecorView.draw(DecorView.java:788)
at android.view.View.updateDisplayListIfDirty(View.java:18142)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:669)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:675)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:783)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2992)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2806)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2359)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1392)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6752)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
at android.view.Choreographer.doCallbacks(Choreographer.java:723)
at android.view.Choreographer.doFrame(Choreographer.java:658)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
我在使用graphview库时出错。对我来说,它发生在
.setMaxX
小于.setMinX
时,因为图形轴范围不能为负值。您需要确保用于设置轴的代码不允许.setMinX
大于.setMaxX
。你在哪里
if(HiProfWang.size() < 7){
graph.getViewport().setMinX(1);
}
if(HiProfWang.size()<7){
graph.getViewport().setMinX(1);
}
如果HiProfWang.size()
返回0,则setMaxX
可能小于.setMinX(1)
我不确定如果minX和maxX相等,行为会是什么 这并不能回答这个问题。一旦你有足够的钱,你将能够;相反关于check
,我需要澄清什么。setMinX
小于。setMaxX
?除非您完全确定这可以解决问题,否则您应该将您的经验作为评论而不是答案发布。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
weightButton = (Button) findViewById(R.id.weightButton);
displayDifference = (TextView) findViewById(R.id.displayDifference);
displayAverage = (TextView) findViewById(R.id.displayAverage);
displayWeight = (TextView) findViewById(R.id.displayWeight);
ccButton = (Button) findViewById(R.id.ccButton);
initWeight();
initCalorieCounter();
displayUserWeight();
displayWeightAverage();
buildGraph();
}
if(HiProfWang.size() < 7){
graph.getViewport().setMinX(1);
}