2016-05-17 107 views
0

我正在使用「MPAndroidChart」,並且我有三個值顯示在一個餅圖中,標記爲「複審」,「已回答」和「未答覆」它們各自的顏色是「#ff9600」,「#68e09b」,「#ececf0」。 如果我已經通過多個值來繪製圖表,那麼顏色會正確顯示,但不會在傳遞單個值時顯示。Androidmpchart餅圖不顯示單一顏色但顯示顏色多於一個時

當我通過單個值 - http://imgur.com/qIpJt2q(問題!!)。

當我通過兩個或多個值 - http://imgur.com/4OGu0lZ

這裏是我的代碼:

int bookmarked_questions_size = 0; 
    int answered_questions_size = 0; 
    int skipped_question_count = 30; 
    public void addChart() { 

    pieChart = (PieChart) findViewById(R.id.pausePieChart); 
    String testTitle = tagTestsModel.getTitle(); 
    pieChart.setUsePercentValues(false); 
    pieChart.setDescription(""); 
    pieChart.getLegend().setEnabled(false); 
    pieChart.setDrawHoleEnabled(true); 
    pieChart.setHoleRadius(20); 

    pieChart.setTransparentCircleRadius(20f); 
    pieChart.setCenterText("" + tagTestsModel.getQuestionCount()); 
    ArrayList<String> xVals = new ArrayList<String>(); 
    ArrayList<Entry> yVals = new ArrayList<Entry>(); 

    ArrayList<Integer> colors = new ArrayList<Integer>(); 


    if (bookmarked_questions_size > 0) { 
     xVals.add("Marked For Review"); 
     yVals.add(new Entry(bookmarked_questions_size, 0)); 
     colors.add(Color.parseColor("#ff9600")); 

    } 

    if (answered_questions_size > 0) { 
     xVals.add("Answered"); 
     yVals.add(new Entry(answered_questions_size, 1)); 
     colors.add(Color.parseColor("#68e09b")); 

    } 

    if (skipped_question_count > 0) { 
     xVals.add("Not Answered"); 
     yVals.add(new Entry(skipped_question_count, 2)); 
     colors.add(Color.parseColor("#ececf0")); 

    } 




    PieDataSet dataSet = new PieDataSet(yVals, "Topics Covered"); 
    dataSet.setSliceSpace(3); 
    dataSet.setSelectionShift(5); 
    dataSet.setColors(colors); 

    PieData data = new PieData(xVals, dataSet); 
    data.calcMinMax(0, (int) tagTestsModel.getQuestionCount()); 
    data.setValueTextSize(11f); 
    data.setValueTextColor(Color.GRAY); 
    data.setValueFormatter(new MyValueFormatter()); 

    pieChart.setData(data); 
    pieChart.invalidate(); 


} 

如果執行條件單,如果再發生否則按預期工作的問題。

XML代碼:

<com.github.mikephil.charting.charts.PieChart 
    android:layout_marginLeft="20dp" 
    android:layout_marginRight="20dp" 
    android:layout_marginTop="30dp" 
    android:layout_marginBottom="30dp" 
    android:id="@+id/pausePieChart" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_above="@+id/linearLayout3" 
    android:layout_below="@+id/questionTimeRelativeLayout" /> 

庫版本:編譯 'com.github.PhilJay:MPAndroidChart:V2.2.3'

回答

0

更改你的編譯依賴於compile 'com.github.PhilJay:MPAndroidChart:v2.2.4'我想你的代碼與版本MpAndroidChart的當它改變爲你使用的版本時,它完美的工作,同樣它產生了你的錯誤。

+0

謝謝,如果你還可以幫我找出爲什麼它不工作,那麼它也會在未來幫助我。 –