2015-12-23 21 views
7

Tôi có ý định tìm kiếm một điểm cụ thể trong biểu đồ dạng đường của MPAndroidChart và sau đó hiển thị điểm đánh dấu để đánh dấu điểm sau khi nhấn nút. Ví dụ được đưa ra là nơi điểm đánh dấu chỉ được hiển thị sau khi chạm vào sự kiện khác với trường hợp của tôi. Tôi đã thử mã dưới đây nhưng vô ích, có thể một số xin vui lòng dạy cho tôi, tôi sẽ đánh giá cao.MPAndroidChart MarkerView

Highlight h = new Highlight((int) valIndex, linechart2.getData().getDataSetCount()); 
     linechart2.highlightValue(h, true); 
mv2.refreshContent2(valueYAxis.get((int) valIndex), h); 
linechart2.getMarkerView(); 
linechart2.setDrawMarkerViews(true); 
linechart2.getData().setHighlightEnabled(true); 
//  RefreshChart(); 
linechart2.invalidate(); 

Trả lời

1

Bạn có thể dễ dàng làm nổi bật giá trị theo chương trình bằng cách sử dụng một trong những phương pháp sau đây trên đối tượng Chart của bạn:

  • highlightValues(Highlight[] highs): Đánh dấu các giá trị tại các chỉ số được đưa ra trong DataSets nhất định. Cung cấp null hoặc một mảng trống để hoàn tác tất cả các đánh dấu.
  • highlightValue(int xIndex, int dataSetIndex): Làm nổi bật giá trị tại chỉ mục x đã cho trong Tập dữ liệu đã cho. Cung cấp -1 làm x-index hoặc dataSetIndex để hoàn tác tất cả các đánh dấu.

Đó là tất cả trong wiki.

0

tôi walkthru wiki như bạn tham khảo và evenmore Tôi đã thử mã dưới đây khác với phần trên,

Highlight h = new Highlight((int) valIndex, 0); 
     linechart2.highlightValue(h); 
mv2.refreshContent2(valueYAxis.get((int) valIndex), h); 
linechart2.getMarkerView(); 
linechart2.setDrawMarkerViews(true); 
linechart2.getData().setHighlightEnabled(true); 
//  RefreshChart(); 
linechart2.invalidate(); 

kết quả là vẫn không may mắn như vậy, quan điểm đánh dấu không bao giờ bật lên. Tôi thực hiện điều tra bằng cách đơn bước qua biểu đồ Line Ví dụ mã của bạn. Nó cho thấy sau khi chạm vào sự kiện, chương trình thẳng đi vào refreshContent và đi lấy hàm bù x và y sau đó và điểm đánh dấu bật lên. Nhưng kịch bản của tôi như tôi đã đề cập trước đây, sẽ không tham gia sự kiện cảm động nhưng một nút nhấn nơi biểu đồ của tôi sẽ hiển thị bằng cách làm nổi bật điểm vị trí so với thời điểm người dùng cuối tìm kiếm. Vì vậy, tôi đã thêm refreshContent2 theo cách thủ công (giống với hàm refreshContent trong lớp MarkerView) để mô phỏng quy trình nhưng sau đó tôi thấy nó không bao giờ đi và nhận hàm x, y khác với trường hợp mẫu của bạn. Các điểm đánh dấu không bao giờ bật lên là nó vì điều này tôi nghi ngờ?

Các vấn đề liên quan