Android anychart doen';不能随数据而改变
我试图使用firebase中存储的数据的anychart,我添加了一个微调器来过滤我使用的数据Android anychart doen';不能随数据而改变,android,firebase,spinner,anychart,Android,Firebase,Spinner,Anychart,我试图使用firebase中存储的数据的anychart,我添加了一个微调器来过滤我使用的数据log.e,以了解我的数据是否发生了变化,我得出结论,数据变化很好,但问题是我的饼图没有用新数据更新这是我的代码 protected void onStart() { super.onStart(); spinner = (Spinner) findViewById(R.id.spinner2);`` anyChartView= (AnyChartVie
log.e
,以了解我的数据是否发生了变化,我得出结论,数据变化很好,但问题是我的饼图没有用新数据更新这是我的代码
protected void onStart() {
super.onStart();
spinner = (Spinner) findViewById(R.id.spinner2);``
anyChartView= (AnyChartView)findViewById(R.id.chart11);
pie= AnyChart.pie();
dataEntries=new ArrayList<>();
dataEntries.clear();
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, final int position, long id) {
ref3.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String s2;
dataEntries.clear();
for (int i=0;i<list2.size();i++){
s2=dataSnapshot.child(list2.get(i)).child("category").getValue(String.class);
s=spinner.getItemAtPosition(position).toString();
Log.e(TAG, "onDataChange: s &&& s2"+s+" "+s2 );
if (s.equals(s2)){
dataEntries.add(new ValueDataEntry(list2.get(i),Integer.parseInt(dataSnapshot.child(list2.get(i)).child("count").getValue(String.class))));
Log.e(TAG, "onDataChange: data"+list2.get(i)+" "+ dataSnapshot.child(list2.get(i)).child("count").getValue(String.class));
}else continue;}
Log.e(TAG, "onDataChange: size"+dataEntries.size() );
anyChartView= (AnyChartView)findViewById(R.id.chart11);
pie= AnyChart.pie();
pie.data(dataEntries);
anyChartView.setChart(pie);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
受保护的void onStart(){
super.onStart();
微调器=(微调器)findViewById(R.id.spinner2)``
anyChartView=(anyChartView)findViewById(R.id.chart11);
pie=AnyChart.pie();
dataEntries=newarraylist();
dataEntries.clear();
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共id(AdapterView父对象、视图、最终整型位置、长id){
参考3.addValueEventListener(新的ValueEventListener(){
@凌驾
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
字符串s2;
dataEntries.clear();
对于(int i=0;i要更新饼图,只需将新数据应用于现有饼图并使其处于活动状态。无需重新创建图表或其他内容。有关详细信息,请检查