AndroidPlot PieChart возвращает нулевой сегмент в TouchEvent

Я использую PieChart Demo, разница в том, что сегменты загружаются динамически, как показано ниже:

    public Segment[] segments;
    segments = new Segment[dataList.size()];
    int i=0;
    for (DataList d: dadosList)
    {
        segments[i] = new   Segment(d.name(),Float.parseFloat(d.value()));


            SegmentFormatter sf1 =  new SegmentFormatter(Color.parseColor(d.getColor_chart()));
            sf1.getLabelPaint().setShadowLayer(3, 0, 0, Color.BLACK);
            sf1.getFillPaint().setMaskFilter(emf);
            pie.addSegment(segments[i],sf1);
            i++;
    }


    pie.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                PointF click = new PointF(motionEvent.getX(), motionEvent.getY());
                Log.d(TAG,"CLICK PIE CHART");
                if(pie.getPie().containsPoint(click)) {
                    Log.d(TAG,"GET PIE");

                    Segment segment = pie.getRenderer(PieRenderer.class).getContainingSegment(click);

                    if(segment != null) {
                        Log.d(TAG,"SEGMENT IS NOT NULL");
                        final boolean isSelected = getFormatter(segment).getOffset() != 0;
                        deselectAll();
                        setSelected(segment, !isSelected);
                        pie.redraw();

                        String type = segment.getTitle();

                        new FetchDataListByTypeTask(type).execute();

                    }
                }
                return false;
            }

Но когда нажмите на первый сегмент, верните нулевой сегмент.

Это ошибка? Или я что-то не так делаю?

ОБНОВЛЕНИЕ

Эта ошибка появляется, когда сегмент больше 50% круговой диаграммы.


person Petryx    schedule 02.08.2017    source источник


Ответы (1)


Это исправлено в Androidplot 1.5.1.

person Nick    schedule 03.08.2017