2015-04-06 3 views
0

Я использую ListView для отображения группы диаграмм, которые получают данные с размещенного сервера. Я использую библиотеку MPAndroidChart и успешно использовал все диаграммы, кроме CombinedChart и PieChart. Я попытался найти документацию обоим, но не смог понять эти реализации диаграмм. Может ли кто-нибудь объяснить мне работу этих двух графиков: 1) CombinedChart 2) PieChart. Также в комбинированной диаграмме мы можем передавать данные о строках и столбцах, но как добавить эти два набора данных в диаграмму. По моему пониманию, я могу сделать это, создав объект CombinedChartData. Но я не могу это сделать, поскольку приложение терпит крах, вызывая исключение NullPointerException. Я показал мой код ниже для справки:CombinedChart с использованием MPAndroidChart

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_activity2); 
    combinedChart=(CombinedChart)findViewById(R.id.combined_chart); 

    ArrayList<String> labels = getLabels(); 
    ArrayList<Entry> entries = new ArrayList<>(getEntries()); 
    ArrayList<BarEntry> entries1 = new ArrayList<>(getEntries1()); 
    LineDataSet lineDataSet = new LineDataSet(entries,"Line Data"); 
    BarDataSet barDataSet = new BarDataSet(entries1,"Bar Data"); 
    barDataSet.setColor(0); 

    CombinedData combinedData = new CombinedData(labels); 
    combinedData.addDataSet(lineDataSet); 
    combinedData.addDataSet(barDataSet); 

    combinedChart.setData(combinedData); 
    combinedChart.invalidate(); 

ответ

0

Посмотрите на пример:

CombinedChart: https://github.com/PhilJay/MPAndroidChart/blob/master/MPChartExample/src/com/xxmassdeveloper/mpchartexample/CombinedChartActivity.java

Что вы делаете, это создать LineData и BarData объект, а затем установить те до CombinedData. Это все в этом примере. То, что вы сделали, не может работать, поскольку вы никогда не добавляли «комбинированные данные» к некоторому объекту данных, который затем устанавливается для диаграммы.

CombinedData data = new CombinedData(yourLabels); 
data.setData(generateLineData()); 
data.setData(generateBarData()); 

mChart.setData(data); 

PieChart: https://github.com/PhilJay/MPAndroidChart/blob/master/MPChartExample/src/com/xxmassdeveloper/mpchartexample/PieChartActivity.java

Вы должны найти все, что нужно там.

+0

Это действительно помогло. Я внесла изменения в код и добавил отредактированный код к вопросу. Даже сейчас проект падает. –

+0

Ошибка: вызвано: java.lang.NullPointerException: попытка вызвать виртуальный метод 'android.content.res.Resources android.content.Context.getResources()' для ссылки на нулевой объект –

Смежные вопросы