2017-06-21 87 views
0

enter image description here我在我的項目中使用MP條形圖。我複製粘貼一個教程中的代碼。該教程中的代碼工作得很好,但在我的項目中出現錯誤。MP條形圖android錯誤

BarChart barChart = (BarChart) findViewById(R.id.barchart); 

    ArrayList<BarEntry> entries = new ArrayList<>(); 
    entries.add(new BarEntry(8f, 0)); 
    entries.add(new BarEntry(2f, 1)); 
    entries.add(new BarEntry(5f, 2)); 
    entries.add(new BarEntry(20f, 3)); 
    entries.add(new BarEntry(15f, 4)); 
    entries.add(new BarEntry(19f, 5)); 

    BarDataSet bardataset = new BarDataSet(entries, "Cells"); 

    ArrayList<String> labels = new ArrayList<String>(); 
     labels.add("2016"); 
     labels.add("2015"); 
     labels.add("2014"); 
     labels.add("2013"); 
     labels.add("2012"); 
     labels.add("2011"); 

    //error on this line because of string arraylist 
    //BarData data = new BarData(labels, bardataset); 
    barChart.setData(data); // set the data and list of lables into chart 

    barChart.setDescription("Set Bar Chart Description"); // set the description 

    bardataset.setColors(ColorTemplate.COLORFUL_COLORS); 

    barChart.animateY(5000); 

// XML文件

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <com.github.mikephil.charting.charts.BarChart 
      android:id="@+id/barchart" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"/> 
     <!--com.jjoe64.graphview.GraphView 
      android:id="@+id/graph" 
      android:layout_width="match_parent" 
      android:layout_height="200dip" /--> 

    </LinearLayout> 
+0

請分享你的錯誤記錄。 –

+0

錯誤不在運行時,我無法運行,紅色線下面 –

+0

設置barChart.setData(bardataset);而不是barChart.setData(data); –

回答

0

試試這個簡單的教程。你從中得到一些想法。

ArrayList<BarEntry> bargroup1 = new ArrayList<>(); 
    bargroup1.add(new BarEntry(8f,0)); 
    bargroup1.add(new BarEntry(2f,1)); 
    bargroup1.add(new BarEntry(5f,2)); 
    bargroup1.add(new BarEntry(20f,3)); 
    bargroup1.add(new BarEntry(15f,4)); 
    bargroup1.add(new BarEntry(19f,5)); 

BarDataSet barDataSet1 = new BarDataSet(bargroup1, "Group 1"); 
barDataSet1.setColors(ColorTemplate.COLORFUL_COLORS); 

ArrayList<String> labels = new ArrayList<String>(); 
    labels.add("2016"); 
    labels.add("2015"); 
    labels.add("2014"); 
    labels.add("2013"); 
    labels.add("2012"); 
    labels.add("2011"); 

ArrayList<BarDataSet> dataSets = new ArrayList<>(); 
    dataSets.add(barDataSet1); 

BarData data = new BarData(labels, dataSets); 
barChart.setData(data); 
+0

好的,謝謝,我會盡力回覆 –

+0

如果您覺得有用,請接受答案。所以其他人可以使用這個。 :) –

+0

無法解決它,您的代碼也無法正常工作,請參閱圖片我已附在帖子 –