다음은 MPAndroid 라이브러리 버전 3을 사용하는 그룹 bar_chart에 사용 된 코드입니다. 하위 버전에서 그룹 막 대형 차트를 시도했지만 올바르게 작동하지만 BarData 생성자가 최신 버전에서 변경되었습니다. 그리고이 코드는 작동하지 않습니다. 크래시 및 오류 로그가 없으며 여전히 그래프가로드 중이며 데이터가 표시되지 않습니다. 엄마 결함을 찾기 위해 도와주세요MPAndroid 그룹 막 대형 차트가 표시되지 않습니다
List<BarEntry> entriesGroup1 = new ArrayList<>();
List<BarEntry> entriesGroup2 = new ArrayList<>();
List<BarEntry> entriesGroup3 = new ArrayList<>();
entriesGroup1.add(new BarEntry(0, 8f));
entriesGroup1.add(new BarEntry(1, 2f));
entriesGroup1.add(new BarEntry(2, 5f));
entriesGroup1.add(new BarEntry(3, 20f));
entriesGroup1.add(new BarEntry(4, 15f));
entriesGroup1.add(new BarEntry(5, 19f));
entriesGroup2.add(new BarEntry(0, 6f));
entriesGroup2.add(new BarEntry(1, 10f));
entriesGroup2.add(new BarEntry(2, 5f));
entriesGroup2.add(new BarEntry(3, 25f));
entriesGroup2.add(new BarEntry(4, 4f));
entriesGroup2.add(new BarEntry(5, 17f));
entriesGroup3.add(new BarEntry(0, 9f));
entriesGroup3.add(new BarEntry(1, 1f));
entriesGroup3.add(new BarEntry(2, 15f));
entriesGroup3.add(new BarEntry(3, 13f));
entriesGroup3.add(new BarEntry(4, 40f));
entriesGroup3.add(new BarEntry(5, 25f));
BarDataSet set1 = new BarDataSet(entriesGroup1, "Group 1");
BarDataSet set2 = new BarDataSet(entriesGroup2, "Group 2");
BarDataSet set3 = new BarDataSet(entriesGroup3, "Group 3");
final ArrayList<String> labels = new ArrayList<String>();
labels.add("2016");
labels.add("2015");
labels.add("2014");
labels.add("2013");
labels.add("2012");
labels.add("2011");
IAxisValueFormatter formatter = new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
if((int) value < 0 || (int) value >= labels.size()){
return "";
}else{
return labels.get((int) value);
}
}
// we don't draw numbers, so no decimal digits needed
@Override
public int getDecimalDigits() { return 0; }
};
set1.setColor(Color.parseColor("#cd5080"));
set2.setColor(Color.parseColor("#0d5080"));
set3.setColor(Color.parseColor("#fc5080"));;
float groupSpace = 0.06f;
float barSpace = 0.02f; // x2 dataset
float barWidth = 0.45f; // x2 dataset
// (0.02 + 0.45) * 2 + 0.06 = 1.00 -> interval per "group"
XAxis xAxis = barChart.getXAxis();
xAxis.setCenterAxisLabels(true);
xAxis.setGranularity(1f); // minimum axis-step (interval) is 1
xAxis.setValueFormatter(formatter);
BarData data = new BarData(set1, set2, set3);
data.setBarWidth(barWidth); // set the width of each bar
barChart.setData(data);
barChart.groupBars(2016, groupSpace, barSpace);
barChart.invalidate(); // refresh
barChart.animateY(5000);
을주의 : 나는 새 질문을 금지하고있어 이후 현재의 내 질문을 편집하고 있습니다. 그러나 나를 위해 그것의 중요성. 모두에게 감사드립니다. 카운터가있는 경우
@Nilu에서 유를 실행중인 모든 activitys의 목록을 제공합니다. 내 프로젝트에는 약 87 개의 활동 페이지가 있으므로 onPause 및 onResume을 포함하도록 모든 활동에서 편집해야합니까? 아니면 다른 방법으로? –
이것을 확인하십시오 https://tips.androidhive.info/2015/04/android-how-to-check-if-the-app-is-in-background-or-foreground/ –
'... 거의 87 활동 페이지 ... '이런 젠장! 왜 그렇게 많은 액티비티를 사용합니까? 단편과 하나 또는 몇 개의 액티비티를 사용할 수 있습니다. –