diff --git a/AndroidCharts/src/main/java/im/dacer/androidcharts/LineView.java b/AndroidCharts/src/main/java/im/dacer/androidcharts/LineView.java index 109f83d..8f8cbda 100644 --- a/AndroidCharts/src/main/java/im/dacer/androidcharts/LineView.java +++ b/AndroidCharts/src/main/java/im/dacer/androidcharts/LineView.java @@ -50,8 +50,8 @@ public class LineView extends View { private int bottomTextHeight = 0; private ArrayList bottomTextList = new ArrayList(); private ArrayList> dataLists; - private ArrayList xCoordinateList = new ArrayList(); - private ArrayList yCoordinateList = new ArrayList(); + private ArrayList xCoordinateList = new ArrayList(); + private ArrayList yCoordinateList = new ArrayList(); private ArrayList> drawDotLists = new ArrayList>(); private Paint bottomTextPaint = new Paint(); private int bottomTextDescent; @@ -275,7 +275,7 @@ private void refreshDrawDotList(int verticalGridNum) { int drawDotSize = drawDotLists.get(k).isEmpty() ? 0 : drawDotLists.get(k).size(); for (int i = 0; i < dataLists.get(k).size(); i++) { - int x = xCoordinateList.get(i); + double x = xCoordinateList.get(i); float y = getYAxesOf(dataLists.get(k).get(i), verticalGridNum); if (i > drawDotSize - 1) { drawDotLists.get(k).add(new Dot(x, 0, x, y, dataLists.get(k).get(i), k)); @@ -519,7 +519,7 @@ private Dot findPointAt(int x, int y) { for (ArrayList data : drawDotLists) { for (Dot dot : data) { - final int pointX = dot.x; + final int pointX = (int) dot.x; final int pointY = (int) dot.y; r.set(pointX - width, pointY - width, pointX + width, pointY + width); @@ -536,12 +536,12 @@ class Dot { int x; float y; float data; - int targetX; + double targetX; float targetY; int linenumber; int velocity = MyUtils.dip2px(getContext(), 18); - Dot(int x, float y, int targetX, float targetY, float data, int linenumber) { + Dot(double x, float y, double targetX, float targetY, float data, int linenumber) { this.x = x; this.y = y; this.linenumber = linenumber; @@ -553,7 +553,7 @@ Point setupPoint(Point point) { return point; } - Dot setTargetData(int targetX, float targetY, float data, int linenumber) { + Dot setTargetData(double targetX, float targetY, float data, int linenumber) { this.targetX = targetX; this.targetY = targetY; this.data = data; @@ -566,7 +566,7 @@ boolean isAtRest() { } void update() { - x = (int) updateSelf(x, targetX, velocity); + x = updateSelf(x, targetX, velocity); y = updateSelf(y, targetY, velocity); }