2014-05-20 5 views
1

SelectionWidget으로 PieChart를 구현하고 싶습니다. AndroidPlot PieChart 내의 세그먼트를 클릭하면 선택 위젯 레이블 텍스트에 현재 선택된 세그먼트에 대한 정보가 표시됩니다. AndroidPlot 데모 내에서 XYPlot에 대해이 작업을 수행하는 예가 있지만 PieChart로 잘 변환되지는 않습니다. 어떤 도움을 주시면 감사하겠습니다. 고맙습니다.AndroidPlot PieChart Touch 이벤트

답변

1

방금 ​​similar question here에 솔루션을 게시했습니다. PieRenderer 클래스에 새 메서드를 추가해야했지만 필요한 변경 사항이 포함 된 Androidplot 빌드에 대한 링크가 있습니다. 그것은 프로덕션 빌드가 아니지만 가치가있는 모든 것, 적어도 현재 생산 버전 인 Androidplot만큼 안정적입니다. 새 빌드가 있으면, 당신은 같은 것을 할 수 있습니다 :

 // detect segment clicks: 
     pie.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View view, MotionEvent motionEvent) { 
       PointF click = new PointF(motionEvent.getX(), motionEvent.getY()); 
       if(pie.getPieWidget().containsPoint(click)) { 
        Segment segment = pie.getRenderer(PieRenderer.class).getContainingSegment(click); 
        if(segment != null) { 
         // handle the segment click...for now, just print 
         // the clicked segment's title to the console: 
         System.out.println("Clicked Segment: " + segment.getTitle()); 
        } 
       } 
       return false; 
      } 
     }); 

그냥 SelectionWidget를 업데이트하는 코드로 에서 System.out.println (...)를 교체하십시오.

+1

저는 10 년 동안 개발자였으며 ​​포럼에서 개인적으로 질문하지 않았습니다. 빨리 대답 해줘서 고마워. 당신의 솔루션은 제가 일을 빨리 끝낼 수 있도록 도와주었습니다. 너의 일을 사랑해. 고맙습니다! – user3656706

+0

이것이 충돌 할 수있는 이유는 무엇입니까? 내 구현이 다음 줄에서 충돌합니다. 세그먼트 세그먼트 = pie.getRenderer (PieRenderer.class) .getContainingSegment (click); @Nick –

+0

스택 추적을 보지 않고 말하기가 어렵습니다. 새로운 질문을 만들면 (게시하자 마자 보게 될 것입니다) 스택 추적을 포함 시켜서 내가 말할 수 있는지 살펴 보겠습니다. – Nick