Как получить onClickListener
для ярлыков xAxis? Если это невозможно, есть ли другой способ получать события щелчка на ярлыках xAxis?MPAndroidChart: прослушивание событий click на ярлыках xAxis
ответ
Этикетки xAxis на самом деле не являются экземплярами View
. Вместо этого они отображаются непосредственно на холсте MPAndroidChart. Поэтому у вас не может быть OnClickListener
.
Способ сделать то, что вы хотите, вместо этого - реализовать обычай OnChartGestureListener
. Javadoc для этого класса here
mChart.setOnChartGestureListener(new MyChartGestureListener());
В вашей MyChartGestureListener
вы бы преимущественную onChartSingleTapped(MotionEvent me)
:
@Override
public void onChartSingleTapped(MotionEvent me) {
float tappedX = me.getX();
float tappedY = me.getY();
MPPointD point = mChart.getTransformer(YAxis.AxisDependency.LEFT).getValuesByTouchPoint(tappedX, tappedY);
Log.d(TAG, "tapped at: " + point.x + "," + point.y);
}
сниппет выше показано, как получить х и у значения из MotionEvent
. Тогда вам понадобится некоторая логика, чтобы проверить, нет ли вы одного нажатия метки, а не другой части диаграммы. Возможно условное, как:
if ((point.y) < labelYValue) {
Log.d(TAG, "tapped on label for x-value: " + point.x);
}
Или вы могли бы, вероятно, использовать сырые y
из MotionEvent
, если вы предпочитаете.
Трансформатор был всем, о чем мне нужно было знать. Я был недостаточно осведомлен, чтобы снова задать этот вопрос, несмотря на то, что вы решили решить аналогичную проблему через трансформатор в одном из моих предыдущих вопросов. – androidnoob
@androidnoob спасибо за согласие. Это достаточно разумный вопрос - кто-то может спросить об этом в будущем, поэтому я думаю, что в целом это Q & A помогает –
- 1. Угол ярлыка XAxis в MPAndroidChart
- 2. MPAndroidChart: заливка LineChart не останавливается на XAxis
- 3. MPAndroidChart grouped BarChart отключен на Xaxis
- 4. Прослушивание событий
- 5. Отзывчивое поведение для ng-high-диаграмм с скомпилированным ng-click на ярлыках xAxis, скрытых при загрузке
- 6. Прослушивание событий на div, созданных «на лету»
- 7. XAxis ярлыки неправильно рисуются в MPAndroidChart
- 8. Как MPAndroidChart отображает все значения xaxis
- 9. Прослушивание событий, происходящих на странице?
- 10. Прослушивание событий на сложенных элементах
- 11. Как скрыть верхние `xAxis lables` линейки mpandroidchart?
- 12. Highstock: обновление XAxis событий
- 13. MPAndroidChart - BarChart на xaxis geting postion вместо значений
- 14. Можно ли ограничить высоту LimitLine, нарисованную на XAxis в MPAndroidChart?
- 15. Прослушивание событий в Durandal
- 16. Отключить прослушивание событий объектами
- 17. создание и прослушивание событий
- 18. Прослушивание событий GPIB
- 19. Docker API: Прослушивание событий
- 20. прослушивание событий jquery, нестандартные события
- 21. Прослушивание нескольких событий
- 22. jQuery.one прослушивание нескольких событий
- 23. jQuery мобильное прослушивание событий?
- 24. Прослушивание событий из tableviewcell
- 25. Остановить прослушивание событий слушателя
- 26. прослушивание ключевых событий
- 27. Привязка/прослушивание событий
- 28. Прослушивание нескольких событий на нескольких объектах AS3
- 29. Прослушивание прослушивателей событий внутри прослушивателя событий перехода?
- 30. Быстрое прослушивание событий расширения на свойстве
Проверьте это [ответ] (http://stackoverflow.com/a/34850792/6799753), это может помочь –