2015-04-06 49 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

看一看這個例子:

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

你要做的就是創建LineDataBarData對象,接盤者到CombinedData。這一切都在這個例子中。 你做了什麼不能工作,因爲你從來沒有將「組合數據集」添加到某些數據對象,然後爲圖表設置。

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

mChart.setData(data); 

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

你應該找到你需要的任何東西。

+0

這確實有幫助。我對代碼進行了更改,並將編輯後的代碼添加到問題中。即使現在這個項目也崩潰了。 – 2015-04-06 10:50:57

+0

錯誤:引起:java.lang.NullPointerException:試圖調用虛擬方法'android.content.res.Resources android.content.Context.getResources()'對一個空對象引用 – 2015-04-06 10:51:10