2017-08-02 56 views
0

返回null段我用饼图演示不同的是段动态加载如下面的代码片段:AndroidPlot饼图上的TouchEvent

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; 
      } 

但是,当点击第一个段,返回null段。

这是一个错误?或者我做错了什么?

UPDATE

当段是饼图的大于50%,会出现此错误。

回答

1

这已在Androidplot 1.5.1中修复。

+0

感谢1.5.1版本正常工作。 – Petryx