【发布时间】:2016-01-18 04:37:19
【问题描述】:
我在我的 Android 图形应用程序中使用 MPAndroidChart 库,我需要显示带有包含所选条形的 x 轴值的标题的对话框。
我将这个wiki entry 用于条形图中条形的点击事件。但现在我需要将选定的条形 x 轴值作为标题。谁能告诉我如何实现它?
【问题讨论】:
我在我的 Android 图形应用程序中使用 MPAndroidChart 库,我需要显示带有包含所选条形的 x 轴值的标题的对话框。
我将这个wiki entry 用于条形图中条形的点击事件。但现在我需要将选定的条形 x 轴值作为标题。谁能告诉我如何实现它?
【问题讨论】:
使用OnChartValueSelectedListener:
@Override
public void onValueSelected(Entry e, Highlight h) {
final String x = chart.getXAxis().getValueFormatter().getFormattedValue(e.getX(), chart.getXAxis());
}
Highlight 对象包含有关所选位置的附加信息,例如 dataSetIndex、所选值的 x 和 y 位置(以像素为单位)、所选堆栈值(在堆积条形图中), ...
【讨论】:
更新:对于 MPAndroidChart 3.x.x,以下工作按照 this answer:
chart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
@Override
public void onValueSelected(Entry e, Highlight h) {
chart.getXAxis().getValueFormatter().getFormattedValue(e.getX(), chart.getXAxis());
}
@Override
public void onNothingSelected() {
}
});
【讨论】:
使用 onValueSelected:
public void onValueSelected(Entry e, int dataSetIndex, Highlight h) {
int position = e.getXIndex();
Log.d("positin", position );
//XValue
final String selectedValue=barchart.getXAxis().getValues().get(position);
Log.d("selctdX", selectedValue);
//YValue
final String selectedYValue = String.valueOf(e.getVal());
Log.d("selctdY", selectedValue);
}
您可以使用此代码获取所选柱的位置、xaxis 值和 yaxis 值。
【讨论】: