From 4eda8cb738d162711491e0d15c1eb018ace73abc Mon Sep 17 00:00:00 2001 From: Oleksandr Tyshkovets Date: Tue, 26 May 2015 19:00:26 +0300 Subject: [PATCH] Fix for empty bars --- .../org/gnucash/android/ui/chart/BarChartActivity.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/gnucash/android/ui/chart/BarChartActivity.java b/app/src/main/java/org/gnucash/android/ui/chart/BarChartActivity.java index 01fc8b277..b66478969 100644 --- a/app/src/main/java/org/gnucash/android/ui/chart/BarChartActivity.java +++ b/app/src/main/java/org/gnucash/android/ui/chart/BarChartActivity.java @@ -342,12 +342,13 @@ public boolean onOptionsItemSelected(MenuItem item) { @Override public void onValueSelected(Entry e, int dataSetIndex, Highlight h) { - if (e == null) return; + if (e == null || ((BarEntry) e).getVals().length == 0) return; BarEntry entry = (BarEntry) e; + int index = h.getStackIndex() == -1 ? 0 : h.getStackIndex(); String stackLabels = entry.getData().toString(); String label = mChart.getData().getXVals().get(entry.getXIndex()) + ", " - + stackLabels.substring(1, stackLabels.length() - 1).split(",")[h.getStackIndex()]; - double value = entry.getVals()[ h.getStackIndex() == -1 ? 0 : h.getStackIndex() ]; + + stackLabels.substring(1, stackLabels.length() - 1).split(",")[index]; + double value = entry.getVals()[index]; double sum = mTotalPercentageMode ? mChart.getData().getDataSetByIndex(dataSetIndex).getYValueSum() : entry.getVal(); selectedValueTextView.setText(String.format(SELECTED_VALUE_PATTERN, label, value, value / sum * 100)); }