请帮忙!我是 Android 新手,想通过使用 MPCharts 表单 Firebase 数据计数来显示条形图和折线图。图表应显示每个主题文档和视频的孩子总数。每次变量 j 的值只有 0,不能设置 -- NoOfDocs.add(new Entry(count,j));
这是java代码
LineChart linechart;
ArrayList NoOfDocs = new ArrayList();
private String [] referenceValues = {"Hindi", "English", "Maths", "Science", "Social Science", "Computer Science", "Art & Craft", "Social Studies", "Physical Education", "Sanskrit"};
private void getDocsData() {
for (int i=0; i<referenceValues.length;i++) {
DatabaseReference dbref = FirebaseDatabase.getInstance().getReference(referenceValues[i].toLowerCase()+"/"+AppUtilties.DOCS_PATH);
dbref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
int j = 0;
String key = dataSnapshot.getKey();
long count = dataSnapshot.getChildrenCount();
NoOfDocs.add(new Entry(count,j));
j++;
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("Dashboard");
setContentView(R.layout.activity_dashboard);
ArrayList labels = new ArrayList();
labels.add("Hindi");
labels.add("English");
labels.add("Math");
labels.add("Science");
labels.add("Social Science");
labels.add("Computer Science");
labels.add("Art");
labels.add("Social Studies");
labels.add("Physical Education");
labels.add("Sanskrit");
//line chart
linechart = findViewById(R.id.linechart);
getDocsData();
LineDataSet lineDataSet = new LineDataSet(NoOfDocs, "Number Of Documents");
LineData lineData = new LineData(labels, lineDataSet);
linechart.setData(lineData);
lineDataSet.setColors(ColorTemplate.COLORFUL_COLORS);
linechart.animateY(2000);
linechart.getLegend().setWordWrapEnabled(true);
linechart.getLegend().setEnabled(false);}
这是xml
<TextView
android:id="@+id/dtitle1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:padding="2dp"
android:text="@string/Documents"
android:textColor="@color/white_greyish"
android:background="@color/background_color"
android:textSize="15sp"
android:textStyle="bold" />
<com.github.mikephil.charting.charts.LineChart
android:id="@+id/linechart"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView
android:id="@+id/dtitle2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:padding="2dp"
android:text="@string/Videos"
android:textColor="@color/white_greyish"
android:background="@color/background_color"
android:textSize="15sp"
android:textStyle="bold" />
<com.github.mikephil.charting.charts.HorizontalBarChart
android:id="@+id/barchart"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp" />
[![database][1]][1]